ബൈറ്റ്
ഡിജിറ്റൽ രൂപത്തിലുള്ള വിവരങ്ങളെയും,ഡാറ്റയേയും മറ്റും അളക്കുന്നതിനുള്ള ഒരു ഏകകം ആണ് ബൈറ്റ്. ഒരു ബൈറ്റ് എന്നാൽ സാധാരണയായി എട്ടു ബിറ്റുകൾ കൂടിച്ചേർന്നതാണ്. ആദ്യകാലത്ത് കമ്പ്യൂട്ടറിൽ ഒരു അക്ഷരം ഒരു ബൈറ്റ് കൊണ്ടാണ് സൂചിപ്പിച്ചിരുന്നത്. [1][2] ഇക്കാരണത്താൽ പല കമ്പ്യൂട്ടർ ആർക്കിടെക്ചറുകളിലും അഡ്രസ് ചെയ്യാവുന്ന മെമ്മറിയുടെ ഏറ്റവും ചെറിയ മാത്രയായി ബെറ്റിനെ കണക്കാക്കുന്നു. കാലാകാലങ്ങളായി ബൈറ്റിന്റെ നീളം അത് സ്ഥിതി ചെയ്യുന്ന കമ്പ്യൂട്ടറിന്റെ ആർക്കിടെക്ചറുമായി ബന്ധപ്പെട്ടാണ് ഇരുന്നിരുന്നത്. 1[3] മുതൽ 48[4] വരെ ബിറ്റുകൾ കൂടിച്ചേർന്ന ബൈറ്റുകൾ ഉള്ള കംപ്യൂട്ടറുകൾ ഉണ്ടായിരുന്നിട്ടുണ്ട്. ISO/IEC 2382-1:1993 സ്റ്റാൻഡേർഡിൽ രേഖപ്പെടുത്തിയ പ്രകാരം ഇക്കാലത്തു ബൈറ്റിന്റെ പ്രമാണ നീളം 8 ബിറ്റുകൾ ആണ്. ഇതു മൂലം ഒരു ബൈറ്റിൽ സൂക്ഷിയ്ക്കാവുന്ന പരമാവധി വില 2 ന്റെ ഒരു ഘാതമായ 256 ആണ്.[5] ബൈറ്റ് അളവ് സൂചിപ്പിക്കാൻ സാധാരണയായി B എന്ന ചിഹ്നമാണ് ഉപയോഗിക്കുന്നത്.[6]
ചരിത്രംതിരുത്തുക
ജൂൺ 1956 ൽ ഐ.ബി.എം സ്ട്രെച്ച് (IBM Stretch) എന്ന കമ്പ്യൂട്ടറിന്റെ[7] ഡിസൈൻ വേളയിൽ വെർണർ ബുഹ്ഹോൾസ് ആണ് ബൈറ്റ് എന്ന പദം ആദ്യമായി ഉപയോഗിച്ചത്. bite എന്ന പദത്തിന് bit എന്ന പദവുമായുള്ള ആശയക്കുഴപ്പം ഒഴിവാക്കാനായി ഇതിനെ മനപൂർവം സ്പെല്ലിങ് തെറ്റിച്ചാണ് byte എന്ന വാക്ക് ഉണ്ടാക്കിയെടുത്തത്.[1]ബൈറ്റ് എന്ന പദത്തിന്റെ മറ്റൊരു ഉത്ഭവം ലൂയിസ് ജി. ഡൂലെ'യിൽ നിന്നാണ്. 1956/57 ൽ ജൂൾസ് ഷ്വാർട്സ്, ഡിക്ക് ബീലെർ എന്നീ രണ്ടു പെരുമായിച്ചേർന്ന് എം.ഐ.ടി ലിങ്കൺ ലബോറട്ടറിയിൽ SAGE എന്ന എയർ ഡിഫെൻസ് സിസ്റ്റം ഡിസൈൻ ചെയ്യുന്ന വേളയിൽ താനാണ് ഈ വാക്ക് ആദ്യം ഉപയോഗിച്ചതെന്ന് അവകാശമുന്നയിച്ചിട്ടുണ്ട്.[8][9][10]
ആദ്യകാല കംപ്യൂട്ടറുകൾ പല തരത്തിലുള്ള നാല്-ബിറ്റ് ബി.സി.ഡി (ബൈനറി കോഡെഡ് ഡെസിമൽ) സമ്പ്രദായങ്ങൾ ഉപയോഗിച്ചിരുന്നു. യു.എസ് ആർമിയിലും നേവിയിലും ആറ്-ബിറ്റ് എൻകോഡിങ് സമ്പ്രദായങ്ങളും സുലഭമായിരുന്നു. ഇവയിൽ ആൽഫന്യൂമെറിക് ചിഹ്നങ്ങളും പ്രത്യേക ഗ്രാഫിക് ചിഹ്നങ്ങളും ഉൾപ്പെട്ടിരുന്നു. 1963 ൽ അമേരിക്കൻ സ്റ്റാൻഡേർഡ് കോഡ് ഫോർ ഇൻഫർമേഷൻ എക്സ്ചേഞ്ച് ( ആസ്കി അഥവാ ASCII) എന്ന ഏഴു ബിറ്റുകൾ ഉള്ള ഒരു പ്രമാണ കോഡിങ് സമ്പ്രദായം നിലവിൽ വന്നു. ഇംഗ്ലീഷ് വലിയക്ഷരങ്ങളും ചെറിയക്ഷരങ്ങളും ചിഹ്നനങ്ങളും ഗദ്യവിന്യാസചിഹ്നങ്ങളും ഉൾക്കൊള്ളുന്നതായിരുന്നു ആസ്കി.[11] ആസ്കി പ്രചാരത്തിൽ വന്ന 1960 കളുടെ തുടക്കത്തിൽ ഐ.ബി.എം അവരുടെ സിസ്റ്റം/360 എന്ന ടൈപ്പ് കംപ്യൂട്ടറുകൾ പുറത്തിറക്കി. ഈ കംപ്യൂട്ടറുകളിൽ എക്സ്ടെൻഡഡ് ബൈനറി കോഡഡ് ഡെസിമൽ ഇന്റർചേഞ്ച് കോഡ് ( EBCDIC) എന്ന 8 ബിറ്റ് നീളമുള്ള ഒരു സ്റ്റാൻഡേർഡ് ആണ് ഉപയോഗിച്ചിരുന്നത്.[12] സിസ്റ്റം/360 കംപ്യൂട്ടറുകളുടെ വ്യാപകപ്രചാരം ആണ് 8 ബിറ്റ് നീളമുള്ള ബൈറ്റുകളുടെ ആവിഷ്കാരത്തിനു തുടക്കം കുറിച്ചത്.[11] 1970 കളിലെ 8 ബിറ്റ് മൈക്രോപ്രോസസ്സറുകളുടെ വികാസം സംഭരണശേഷിയ്ക്കായി 8 ബിറ്റ് ഉപയോഗപ്പെടുത്തുന്ന കീഴ്വഴക്കത്തിന് കൂടുതൽ പ്രചാരം നൽകി.
പ്രതീകംതിരുത്തുക
IEC 80000-13, IEEE 1541 എന്നീ സ്റ്റാൻഡേർഡുകൾ പ്രകാരം ബൈറ്റ് എന്ന ഏകകത്തിന്റെ പ്രതീകം ഇംഗ്ലീഷ് വലിയക്ഷരമായ B ആണ്. IEEE 1541 പ്രകാരം ബിറ്റിന്റെ പ്രതീകം ചെറിയക്ഷരം ആയ b ആണ്. പക്ഷെ B എന്ന പ്രതീകവുമായുള്ള ആശയക്കുഴപ്പം ഒഴിവാക്കാനായി IEC 80000-13 ൽ ബിറ്റിന്റെ പ്രതീകമായി bit എന്നാണ് അംഗീകരിച്ചിട്ടുള്ളത്.
ബൈറ്റിന്റെ ധാരിതതിരുത്തുക
ഒരു ബൈറ്റ് ഉപയോഗിച്ച് 256 വ്യത്യസ്ത എണ്ണൽ സംഖ്യകളിൽ ഏതെങ്കിലും ഒന്നിനെ സൂചിപ്പിക്കാം. എന്നാൽ രണ്ടു ബൈറ്റുകൾ (അതായതു് 16 ബിറ്റുകൾ) ചേർത്തുവെച്ചാൽ ഒരു ഹെക്സാഡെസിമൽ സ്ഥാനം നിർണ്ണയിക്കാം. താഴെ ചേർത്ത പട്ടികയിൽ ഒരു ബൈറ്റിന്റെ ആകെ സാദ്ധ്യമായ 256 വിധങ്ങളിൽ ആദ്യത്തെ 16 എണ്ണം കാണിച്ചിരിക്കുന്നു:
സാധാരണ
(ദശാംശരീതിയിലുള്ള) സംഖ്യ |
ഒരു ബൈറ്റ്
രൂപത്തിൽ വെവ്വേറെ ബിറ്റുകളായി കാണിച്ചിരിക്കുന്നു. |
ഹെക്സാഡെസിമൽ രൂപം |
---|---|---|
0 | 00000000 | 00 |
1 | 00000001 | 01 |
2 | 00000010 | 02 |
3 | 00000011 | 03 |
4 | 00000100 | 04 |
5 | 00000101 | 05 |
6 | 00000110 | 06 |
7 | 00000111 | 07 |
8 | 00001000 | 08 |
9 | 00001001 | 09 |
10 | 00001010 | 0A |
11 | 00001011 | 0B |
12 | 00001100 | 0C |
13 | 00001101 | 0D |
14 | 00001110 | 0E |
15 | 00001111 | 0F |
16 | 00010000 | 10 |
ഏകകത്തിന്റെ ഗുണിതങ്ങൾതിരുത്തുക
ഏകകത്തിന്റെ ഗുണിതങ്ങളെ എത്രമാത്രം ഏകീകരിച്ചിട്ടും ബൈറ്റിന്റ ഗുണിതങ്ങളുടെ എസ്.ഐ ഉപസർഗങ്ങളുടെ (prefix) ഉപയോഗത്തിൽ ഇപ്പോഴും ആശയക്കുഴപ്പം നിലവിലുണ്ട്. പ്രധാനമായും കിലോ (k അല്ലെങ്കിൽ K), മെഗാ (m അല്ലെങ്കിൽ M), ഗിഗാ (g അല്ലെങ്കിൽ G) എന്നീ ഉപസർഗങ്ങളുടെ ഉപയോഗമാണ് വ്യക്തതയില്ലാത്തത്. കമ്പ്യൂട്ടറിന്റെ മെമ്മറി ആർക്കിടെക്ചറുകൾ എല്ലാം 2ന്റെ ഘാതങ്ങളായാണ് രേഖപ്പെടുത്തിപോരുന്നത്(1024, 1048576 തുടങ്ങിയവ). ചില സന്ദർഭങ്ങളിൽ ഈ ഉപസർഗങ്ങൾ 2 ന്റെ ഘാതങ്ങൾ രേഖപ്പെടുത്താൻ ഉപയോഗിയ്ക്കുന്നു.(ഉദാ : കിലോ എന്നത് 1024 നെ രേഖപ്പെടുത്താൻ). എന്നാൽ ഡിസ്ക് നിർമ്മാതാക്കളും മറ്റും ഈ ഉപസർഗങ്ങൾ എസ്.ഐ ഗുണിതങ്ങളായായി ഉപയോഗിയ്ക്കാറുണ്ട് (ഉദാ : കിലോബൈറ്റ് എന്നാൽ 1000 ബൈറ്റുകൾ). ചെറിയ സംഖ്യകളിൽ ഇവ തമ്മിലുള്ള വ്യത്യാസം ചെറുതാണെങ്കിലും yotta എന്ന ഉപസർഗം എത്തുമ്പോഴേയ്ക്കും ഇവ തമ്മിലുള്ള വ്യത്യാസം ഏകദേശം 20 ശതമാനത്തോളം എത്തുന്നു.
സാധാരണ ഉപയോഗങ്ങൾതിരുത്തുക
പല പ്രോഗ്രാമിങ് ഭാഷകളിലും byte എന്ന ഡാറ്റാ ടൈപ്പ് ഉണ്ട്. സി/സി++ പ്രോഗ്രാമിങ് ഭാഷകളിൽ ഒരു byte എന്നത് ഇങ്ങനെ നിർവചിയ്ക്കപ്പെട്ടിരിയ്ക്കുന്നു : "addressable unit of data storage large enough to hold any member of the basic character set of the execution environment" (clause 3.6 of the C standard). അതുപോലെ ഈ സ്റ്റാൻഡേർഡുകൾ രണ്ടു ബൈറ്റുകൾക്കിടയിൽ ഒഴിവുകളും പാടില്ല എന്ന് നിഷ്കർഷിയ്ക്കുന്നുണ്ട്.[13]
ജാവയിലെ അടിസ്ഥാന byte
ഡാറ്റാ ടൈപ്പ് 8 ബിറ്റുകൾ ഉള്ള ചിഹ്നമുള്ള (signed), -128 മുതൽ 127 വരെയുള്ള സംഖ്യകളെ സംഭരിയ്ക്കാൻ കഴിവുള്ളതായിട്ടാണ് നിർവചിയ്ക്കപ്പെട്ടിരിയ്ക്കുന്നത്.
സി# പോലെയുള്ള .നെറ്റ് പ്രോഗ്രാമിങ് ഭാഷകളിൽ ചിഹ്നമുള്ളതും (signed, sbyte
) ചിഹ്നമില്ലാത്തതുമായ (unsigned, byte
) 8 ബിറ്റുകൾ ഉൾക്കൊള്ളുന്ന ഡാറ്റാ ടൈപ്പുകൾ ഉണ്ട്. ആദ്യത്തേതിൽ -128 മുതൽ 127 വരെയുള്ള സംഖ്യകളെ സംഭരിയ്ക്കാം. രണ്ടാമത്തേതിൽ 0 മുതൽ 255 വരെയുള്ള സംഖ്യകളെ സംഭരിയ്ക്കാം.
ഇതും കാണുകതിരുത്തുക
കൂടുതൽ വായനയ്ക്ക്തിരുത്തുക
- ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value) (NB. Defines a byte as a group of typically 9 bits; 8 data bits plus 1 parity bit.)
- ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
അവലംബങ്ങൾതിരുത്തുക
- ↑ 1.0 1.1 ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value) (NB. Discusses 12-bit, 24-bit and 48-bit bytes.)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value) (NB. According to his son, Dooley wrote to him: "On good days, we would have the XD-1 up and running and all the programs doing the right thing, and we then had some time to just sit and talk idly, as we waited for the computer to finish doing its thing. On one such occasion, I coined the word "byte", they (Jules Schwartz and Dick Beeler) liked it, and we began using it amongst ourselves. The origin of the word was a need for referencing only a part of the word length of the computer, but a part larger than just one bit...Many programs had to access just a specific 4-bit segment of the full word...I wanted a name for this smaller segment of the fuller word. The word "bit" lead to "bite" (meaningfully less than the whole), but for a unique spelling, "i" could be "y", and thus the word "byte" was born.")
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ 11.0 11.1 ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)
- ↑ ലുവ പിഴവ് ഘടകം:Citation/CS1-ൽ 4162 വരിയിൽ : attempt to index field 'url_skip' (a nil value)