Հետ
Ծրագրավորում և բաց կոդ

Ինչու C լեզվում int-ը չի նշանակում 32 բիթ, իսկ բայթը միշտ չէ, որ 8 բիթ է

Habr
Advertisement468 × 90
Ինչու C լեզվում int-ը չի նշանակում 32 բիթ, իսկ բայթը միշտ չէ, որ 8 բիթ է

Հոդվածը ուսումնասիրում է այն պատմական պատճառները, թե ինչու C ծրագրավորման լեզվի ստանդարտը չի սահմանում տվյալների տիպերի, ինչպիսիք են int-ը կամ բայթը, ֆիքսված չափսեր: Հեղինակը բացատրում է, որ 1970-ականներին համակարգչային ճարտարապետությունները չափազանց բազմազան էին, և լեզվի ստեղծողները ձգտում էին ապահովել կոդի առավելագույն տեղափոխելիություն տարբեր համակարգերի միջև, ներառյալ 16-բիթանոց կամ 36-բիթանոց մեքենաները: Նյութում դիտարկվում է այս հասկացությունների էվոլյուցիան՝ C-ի ստեղծումից մինչև ժամանակակից C23 ստանդարտը: Չնայած այն հանգամանքին, որ այսօր sizeof(int)-ը հաճախ վերադարձնում է 4, բիթերի քանակի հետ խիստ կապի բացակայությունը գիտակցված ճարտարապետական որոշում է, այլ ոչ թե նախագծման սխալ: Հոդվածը ընթերցողներին առաջարկում է խորանալ հաշվողական տեխնիկայի պատմության մեջ՝ հասկանալու համար, թե ինչու են լեզվի այս առանձնահատկությունները շարունակում արդիական մնալ նաև այսօր՝ ապահովելով ճկունություն տարբեր սարքավորումների հետ աշխատելիս:

This is a summary. Read the full article at the original source:

Habr
Advertisement468 × 90
Share
Ծրագրավորում և բաց կոդ

Կապակցված

Advertisement970 × 250