Jump to content

Kā konkrēti izpaužas C++ valodas tuvums "dzelžiem".


Recommended Posts

  • Replies 848
  • Created
  • Last Reply

Top Posters In This Topic

  • Raimonds1

    230

  • binary

    90

  • AndrisBB

    89

  • Mezavecis

    66

Top Posters In This Topic

Popular Posts

es, kā sabiedrības pārstāvis, saku - karogs tavās rokās!!!

Viss, kur klāt piesauc kvantus, ir kruta!

Atbildēšu uz tēmas galveno jautājumu pēc būtības: Programma tiek kompilēta uz procesora instrukcijām. Programma veic darbības ar fizisko atmiņu pa tiešo. Viss, jautājums ir atbil

Posted Images

  • 3 months later...
Raimonds1

Izturība apkārtējā vidē https://xtv.lv/rigatv24/video/4OW7q3EypvY-24_02_2020_dr_apinis_2_dala   5.minūte 50.sekunde

Tas ilgais laiks, ko vīruss var būt vidē ir ne tikai negatīvs faktors, bet arī ir iespēja to vīrusu ietekmēt, lai iegūtu fragmentus. Varbūt pat ar izotopu metodi. Nav ar tiem jādarbojas organismā. Var darīt kā ar pusvadītāju kristālu.

Protams, matemātiskais modelis labi noderētu.

Link to post
Share on other sites
Jurkins

Nu, nu, Raimi!? Un kāds tam sakars ar c++ un dzelžiem. Rakstīsi class Corona: public Sars{...}

Link to post
Share on other sites
Raimonds1

Konkrētais izotops sabrūk neparedzami. Tas tā statistiski ir noteikts laiks, kurā puse no konkrētā izotopa atomiem ir sabrukuši.

 

Tāpēc teorētiskais modelis, kuru tieši izotopu izmantot un kādi tieši tie unikālie vīrusa apvalka fragmenti varētu būt, ir svarīgs.

Var, protams, mēģināt bez nekādas modelēšanas un skatīties, kas sanāks.

Un nav jau tā, ka tie atšķeltie fragmenti tā uzreiz saglabāsies, turpat uz stikliņa paliks un neturpināsies tas struktūras sabrukums, tur vajag modelēt visādus citus pasākumus, piemēram 1.2.3.4 un tā tālāk.

Tāpēc tas ir diezgan matemātisks pasākums un tur, protams, kaut kas jāzin par bioloģiskajām struktūrām.

 

Man jautājums bija - vai kāds zina, kas nodarbojas ar ko tādu

https://www.sciencedirect.com/topics/chemistry/quantum-chemistry

https://www.youtube.com/results?search_query=quantum+chemistry

 

 

Link to post
Share on other sites
  • 4 weeks later...
Raimonds1

https://fold.it/  1.31 min

kas meklē, tas atrod

reizēm valsts televīzija vakara ziņās sagatavo sižetu un te tas ir

izotopu gadījumā tur vajadzēs modificēt, bet ideja tā pati


Vairāk matemātikas, telpisko modeļu un izotopu sabrukuma laika modeļi.

Link to post
Share on other sites
  • 6 months later...
ieleja

par ideju nebūšu kategoriski negatīvs, bet konkrētais liekas nenopitns, orientēts uz māžošanos, chempilers, chasamblers...

 

un vispār tur nevis c++, bet pitons un java

 

Link to post
Share on other sites
Raimonds1

Nu, vispirms ar to, ka programmas darbības ar skaitļiem netiek programmētas ar jebkuriem skaitļiem, bet jau sākumā nosaka, ka darbosies ar 

 

Keyword

 

Variable Type

Range

Storage Required

char

character (or string)

 

–128 to 127

1 byte

int

integer

–32768 to 32,767

 

2 bytes

short (or short int)

short integer

–32768 to 32,767

2 bytes

 

long

long integer

–2,147,483,648 to 2,147,483,647

4 bytes

unsigned char

unsigned character

0 to 255

1 byte

unsigned int

unsigned integer

0 to 65,535

2 bytes

unsigned short

unsigned short integer

0 to 65,535

2 bytes

unsigned long

unsigned long integer

0 to 4,294,967,295

4 bytes

float

single-precision floating point (accurate to 7 digits)

+ or -3.4 x 1038 to + or -3.4 x10-38

4 bytes

double

double-precision floating point (accurate to 15 digits)

+ or -1.7 x 10-308 to + or -1.7 x10308

8 bytes

 
 

Tā var attiecīgajai programmai noteikt konkrētus skaitļošanas resursus.

 

Tad vēl ir tādi bitu operatori, kas ļauj darboties ar bināriem skaitļiem

 

 

Operators     Meaning of operators  
&                      Bitwise AND  
|                        Bitwise OR  
^                       Bitwise XOR  
~                      Bitwise complement  
<<                    Shift left  
>>                    Shift right  

 

 

Link to post
Share on other sites
Jurkins

Kas tur neticams?  Kāds sakars dzelžiem ar mainīgo tipiem vai bitu operācijām. To tak var uz papīra darīt. Vispār bez dzelžiem.😁

Edited by Jurkins
Link to post
Share on other sites
On 10/10/2020 at 4:21 PM, Raimonds1 said:

Nu, vispirms ar to, ka programmas darbības ar skaitļiem netiek programmētas ar jebkuriem skaitļiem, bet jau sākumā nosaka, ka darbosies ar 

 

Keyword

 

Variable Type

Range

Storage Required

char

character (or string)

 

–128 to 127

1 byte

int

integer

–32768 to 32,767

 

2 bytes

short (or short int)

short integer

–32768 to 32,767

2 bytes

 

long

long integer

–2,147,483,648 to 2,147,483,647

4 bytes

unsigned char

unsigned character

0 to 255

1 byte

unsigned int

unsigned integer

0 to 65,535

2 bytes

unsigned short

unsigned short integer

0 to 65,535

2 bytes

unsigned long

unsigned long integer

0 to 4,294,967,295

4 bytes

float

single-precision floating point (accurate to 7 digits)

+ or -3.4 x 1038 to + or -3.4 x10-38

4 bytes

double

double-precision floating point (accurate to 15 digits)

+ or -1.7 x 10-308 to + or -1.7 x10308

8 bytes

 
 

Tā var attiecīgajai programmai noteikt konkrētus skaitļošanas resursus.

 

Tad vēl ir tādi bitu operatori, kas ļauj darboties ar bināriem skaitļiem

 

 

Operators     Meaning of operators  
&                      Bitwise AND  
|                        Bitwise OR  
^                       Bitwise XOR  
~                      Bitwise complement  
<<                    Shift left  
>>                    Shift right  

 

 

 

Tabulā nav gadījumā kļūda? Int un short int - abi ir 2 baitus gari? Int nav gadījumā jābūt 4 baitiem?

Link to post
Share on other sites
Raimonds1

Kaut kad droši vien izdomās valodu, kurā būs ar kursoru un peli pārvietojams klucītis - kalkulators, kurā varēs attēlā ieķeksēt vienu no 200 variantiem - ko rēķināt - atvaļinājuma dienas kalendārā, pavadoņa orbītu un tās izmaiņas vai vēl ko.

 

4 bitu loģika https://www.allaboutcircuits.com/projects/how-to-build-your-own-discrete-4-bit-alu/

 

Gan jau kādam mikrokontrolierim ir iespēja pavisam vienkāršām loģiskām funkcijām programmā paredzēt atmiņā rezervēt tikai 4 vai 8 bitus un darbināt tikai šāda līmeņa ALU vienību.

Tā tad arī ir tā rūpe par dzelžiem, lai netiktu izmantoti nevajadzīgi lieli resusi.

 


Savukārt kaut kad nākotnē programmētājs laikam skaitīsies tas, kas salipinās veselus bibliotēkās atrodamu programmu blāķus un par tādām finesēm nedomās vispār.

Link to post
Share on other sites
AndrisBB
pirms 2 stundām , Raimonds1 teica:

Gan jau kādam mikrokontrolierim ir iespēja pavisam vienkāršām loģiskām funkcijām programmā paredzēt atmiņā rezervēt tikai 4 vai 8 bitus un darbināt tikai šāda līmeņa ALU vienību.

 

Ko tu tur murgo atkal par lietām no kā neko nejēdz. Mikronoktrolierim pa lielam (ja tas ir 32bitu) ir pilnīgi vienalga vai operēt ar 4 bitiem vai 8, vai 1, viņš tikuntā veiks 32 bitu operāciju un pārējos bitus ignorēs. Nekāda ietaupījuma tur atsevišķi veicos 4 vai 8 bitu operācijas nebūs. Drīzāk pat zaudējums, jo naksies lietot atsevišķu hārdwāri.

 

Tak nipērc kautkādu FPGA dev kitu un uzdizainē pats savu CPU, varēsi izpausties savās bezjēdzīgajās idejās.

 

pirms 4 stundām , Jacob teica:

Tabulā nav gadījumā kļūda? Int un short int - abi ir 2 baitus gari?

Var arī mierīgi būt 4 vai pat 8. Nav nekur definēts cik lielam ir jābūt int, bet ir teikts cik ir minimums, un tas ir 16 biti.  

Link to post
Share on other sites
7 hours ago, AndrisBB said:

Var arī mierīgi būt 4 vai pat 8. Nav nekur definēts cik lielam ir jābūt int, bet ir teikts cik ir minimums, un tas ir 16 biti.  

 

Vismaz C valodā, tas ir atkarīgs no arhitektūras, cik noprotu. Uz 16-bitu athitektūras tas bija 16 biti, uz 32-bitu arhitektūras - 32 biti. Uz 64-bitu arhitektūras tas palika 32 bitu garš.

 

Jā, garums nav noteikts, tik noteikts ir tas, ka int nevar būt īsāks par short (16 biti, bet arī nav noteikts)

Edited by Jacob
Link to post
Share on other sites
AndrisBB

Nav tas atkarīgs tīkai no arhitektūras. Tas var būt atkarīgs ko C bibliotēkas, vai pat vairāk no compailer(kompilātora?), ja tas izdomās ka int ir 32 biti, tad tā arī būs arī uz 8 bitu sistēmas. 

Link to post
Share on other sites
AndrisBB

Jebkurā gadījumā es reti lietoju int, pa lielam tikai tad, ja ir jau esošs kods un visur ir tā lietots. Ja rakstu savu vai jaunu kodu, tad arī norādu vai tas ir int32_t vai  uint8_t ,tīri lai izvairītos no problēmām vēlāk. Lielākajā daļā gadījumu tam nav nozīmes, bet ja tiešām tas kautkāds kods kur tieši ar kautkādiem buferiem jāstrādā (kas man sanāk bieži) tad tas ir kritiski.

Tas pats arī uz Linuxa tagad faktiski visi procesi lieto d-bus, lai komunicētu. Tur ļoti svarīgi datu tipi un izmēri, ar standarta int vai signed int, short utt,ātri var iebraukt auzās.

Ja godīgi, tad vispār nezinu kas tie par ķēmiem, kuri lieto visādus short, long , long ong utt, tak definē uint64_t un miers :D

 

Edited by AndrisBB
Link to post
Share on other sites
Raimonds1

Izdomāt var kompilators un izdomāt var arī programmētājs.

Kaut kur pirms daudz lapām aprakstīju zoles kārtij visus parametrus vienā 16 bitu rindiņā sarakstītus.

Vai to darīs kompilators un kā - ej nu sazini. Gan jau ir veids, kā to noskaidrot.

Link to post
Share on other sites
AndrisBB

Atceroties tavu izdomājumu, tak secinājums bij ka tavi biti to programmu padarīs vēl lēnāku nekā ja vienkārši lietotu pilnus vardus (32 bit) :D

 

Link to post
Share on other sites
Raimonds1

Varbūt tajā piemērā arī tā ir, tomēr tā ir objekta visu īpašību ierakstīšana un nolasīšana 16, 32 vai 64 bitu skaitļa konkrētos bitos un to gan jau var izmantot citos projektos.

 


Funkcija punktu skaits 2,3,4,10,11 - 4 bitos

Funkcija kārts atbilstība trumpjiem - 4 bitos utt.

Link to post
Share on other sites
ieleja

@Raimonds1

kas tavuprāt ir tavu c++ atklājumu pateicīgā auditorija?

 

tev liekas, ka tie 5 000 000+ c++ programētāji šajos 40+ gados nav pietiekoši par visu domājuši pietiekami dziļi, lai cilvēks, kas tieši nemaz nav c++ programētājs, garāmejot viņus “vestu uz pareizā ceļa”?

 

Link to post
Share on other sites
Jurkins

Raimi, Tu vari uz viena kalkulatora reizē saskaitīt  4+5 un 2+3? Ar uzsvaru uz "reizē"?

Link to post
Share on other sites
Raimonds1

Vispirms - tie 5 miljoni ir izveidojuši lieliskus, briljantus projektus kas darbojas, nezinu, cik procentus, lai būtu 99.9%

Daļa no tiem projektiem nemaz nav ne brilljanti, ne lieliski.

Man kā neprogrammētājam, kas tomēr kaut ko zin no pamatshēmām un algoritmiem, reizēm tomēr izdodas atrast fantastiskas nesakritības. 

Tāpat interesanta ir dažu projektu vadītāju attieksme pret citu nozaru likumsakarībām.

 

Tad nu es tur kaut ko meklēju, kaut ko taustos, varbūt kaut ko atradīšu.

 

Būtībā jau mani interesē tas moments, kad algoritmiski viss ir izdomāts, vajadzētu tik likt visu kopā un tad sākas visādas interesantas problēmas, iebildes un pārējais.

 

 

 

Pirms 10 minūtēm , Jurkins teica:

Raimi, Tu vari uz viena kalkulatora reizē saskaitīt  4+5 un 2+3? Ar uzsvaru uz "reizē"?

Ja Tu domā to, ka pēc zoles gājiena no vienas bitu rindas reizē jālasa kārts atbilstība prasītajam kārts veidam, kārts stiprums, punktu skaits, gājienu secība, tad tas man ir tādā idejas-pieļāvuma līmenī, ka tādi procesi VARĒTU NOTIKT PARALĒLI. 

Kā tur īsti ir, es nezinu.

 

EDIT. Varbūt tādai idejai ir kāda jēga. Varbūt to bitu rindu REIZĒ  var padot 4 atsevišķiem procesora kodoliem. Uzzināšu pareizos tehnoloģijas vārdus un gan jau atradīšu.

Edited by Raimonds1
Link to post
Share on other sites
Jurkins

Vēlreiz atkārtoju jautājumu 🤣:

Tu vari uz viena kalkulatora reizē saskaitīt  4+5 un 2+3? Ar uzsvaru uz "reizē"?

Link to post
Share on other sites
AndrisBB

Kāds tieši būs ieguvums krāmēt tavas kārts bitos?

Ātrums, programmas izmērs, elegantāks un vieglāk saprotams kods? Lai kautko darītu ir jābūt pamatojumam? Kurš no trijiem būs tavs ieguvums?

Link to post
Share on other sites
AndrisBB

Droši vien.

Neesu īpaši pētijus ALU iekš moderna mikrokontroliera, bet domājams ka ALU "paralēli" ne tikai saskaita, bet izpilda pilnīgi visas iespējamās darbības - atņem, sareizina un izdala, atliek tikai izvēlēties kuru rezultātu gibās.

 

Vismaz tā bij manā MiniMIPS izpildījumā, jo hardwāre jau tur ir tikuntā, vienkārši "paņem" to rezultātu kurs interesē (atkarībā no instrukcijas)

Edited by AndrisBB
Link to post
Share on other sites
Raimonds1

Zināšana, kuri tieši 4 vai cik biti kurai tieši funkcijai vajadzīgi, kur tie atrodas, kā tos padarīt grafiski ērti redzamus,  apstrādes ātrums.


Varam pamēģināt arī bitu līmeņa OCR algoritmu aprakstu.

Link to post
Share on other sites
AndrisBB
Pirms 1 minūtes , Raimonds1 teica:

  apstrādes ātrums.

Tur jau tā lieta ka apstrādes ātrums būs lēnāks. Jo salīdzināt vienu bitu vajadzēs vairāk instrukcijs, kā salīdzināt veselu 32 bitu skaitli.


Uzraksti kodu cik instrukcijas būs pārbaudīt 4 bitus iekš 32 bitu atmiņas un cik 4 stsevišķus mainīgos, kuri katrs var būt 1 vai 0

Edited by AndrisBB
Link to post
Share on other sites
Raimonds1

Tas novērš uzmanību no cita procesa. No plānošanas un algoritmiem. Tiem ir jābūt pamatā.

Link to post
Share on other sites
AndrisBB

Nu parādi kautkādu īsu koda piemēru, kā tu pārbaudīsi tos bitus. To slaveno funkciju kuru piemini.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...