ફાઈલ
April 29, 2008 at 9:51 pm | In ચીરાગ | 2 Commentsફાઈલ - ચીરાગ પટેલ Apr 29, 2008
ફાઈલ (File) નામ કાને પડે એટલે તરત જ નજર સામે જાડા પુંઠાના કવરવાળી લામ્બી-પહોળી આકૃતી ઝબુકે. જનરેશન - ઝ (generation Z)ને તો કમ્પ્યુટરની ફાઈલ જ નજરે પડતી હશે! (સરકારી બાબુઓને તો ફાઈલ નામ સામ્ભળતાં જ ઉંઘ આવતી હશે!)
આજે આપણે વાત કરીશું ડીજીટલ ફાઈલ વીશે. આપણે બધાં માઈક્રોસોફ્ટ વર્ડ કે એક્સેલ સ્પ્રેડશીટ, નોટપૅડ કે વર્ડપૅડ, વગેરે ઍપ્લીકેશન વાપરતાં હોઈએ છીએ. જ્યારે, આ ઍપ્લીકેશન આપણું લખાણ સંગ્રહે (save) છે, ત્યારે એ ફાઈલ સ્વરુપે સંગ્રહે છે. ફાઈલ એ બાઈટના જથ્થાનું એક એકમ છે. હાર્ડ-ડ્રાઈવ કે ડીવીડી કે પેન-ડ્રાઈવમાં આ બધી ફાઈલો બાઈટનાં સંગ્રહ તરીકે હોય છે.
પણ, આ બાઈટરુપી માહીતીને સંગ્રહવામાં જે-તે ઍપ્લીકેશન બહુ મહત્વનો ભાગ ભજવે છે. MP3 ફાઈલને તમે વર્ડપૅડના લખાણની ફાઈલ તરીકે ખોલવા જાઓ તો કાંઈક ચીત્ર-વીચીત્ર લખાણ નજરે પડે. (ભઈ, આપણને તો કમ્પ્યુટર જ ચીત્ર-વીચીત્ર લાગે છે.) અને, એ જ પ્રમાણે, વર્ડપૅડની ફાઈલને મીડીયાપ્લેયરમાં પ્લૅ કરો તો એ એરર (error) બતાવશે. આનું એક કારણ છે ઍપ્લીકેશન! જ્યારે આપણે વર્ડપૅડમાં લખાણ લખીએ છીએ ત્યારે વર્ડપૅડ એ લખાણની સાથે સાથે એનું ફોર્મેટ (format) (ફોંટની માહીતી, લખાણનો વર્ગ, લખનારની માહીતી, વગેરે) પણ સ્ટોર કરે છે. વળી, અમુક ઍપ્લીકેશન માહીતીને કોમ્પ્રેસ (compress) કરીને કે એનક્રીપ્ટ (encrypt) કરીને સંગ્રહીત કરે છે. એટલે, જો કોઈ ઍપ્લીકેશન આ ફોર્મેટ ઉકેલી શકે તો એ ફાઈલમાં શું છે એ જાણી શકે. (આ બાબતને ડી.એન.એ. માટેના જીનોમ મૅપીંગ (genome mapping) પ્રોજેક્ટ સાથે સરખાવો.) (સ્ત્રીના મગજનું ફોર્મેટ કોઈ ઉકેલી શકશે ખરું???)
હવે, ફાઈલ કેવી રીતે સંગ્રહીત થાય છે, એ જે-તે ઑપરેટીંગ સીસ્ટમ (operating system) પર આધાર રાખે છે. આ બાબતને ફાઈલ સીસ્ટમ ફોર્મેટ (file system) કહે છે. વીંડોઝ (Windows) માટે ફૅટ (FAT12, FAT16, FAT32), એન.ટી.એફ.એસ. (NTFS - New Technology File System), એચ.પી.એફ.એસ. (HPFS - High Performance File System), લીનક્સ (Linux) માટે એક્સ્ટ* (ext2, ext3) જેવી ફાઈલ સીસ્ટમ છે. ડૅટાબૅઝ સર્વરને પણ પોતાની ફાઈલ સીસ્ટમ હોય છે. વધુ માહીતી: http://en.wikipedia.org/wiki/List_of_file_systems
ડીજીટલ રુપાંતરણ
March 22, 2008 at 11:25 pm | In ચીરાગ | 4 Commentsડીજીટલ રુપાંતરણ - ચીરાગ પટેલ Mar 22, 2008
આજે એક સીધી સાદી, પરંતુ એકદમ પાયાની બાબત પ્રત્યે મારું ધ્યાન ખેંચાયું. આપણે કમ્પ્યુટરનો આટલો બહોળો ઉપયોગ કરીએ છીએ, એમાં માહીતીનું ડીજીટાઈઝેશન (digitization) ઘણો જ મહત્વનો ભાગ ભજવે છે.
કોઈ પણ પ્રકારની માહીતી - ધ્વની, દ્રશ્ય કે કોઈ પણ પ્રકારનાં સીગ્નલ (signal) -ને ચોક્કસ સંખ્યા વડે દર્શાવવી એટલે ડીજીટાઈઝેશન. આ પધ્ધતીને સેમ્પલીંગ (sampaling) પણ કહે છે. જેમ કે, કમ્પ્યુટરના માઈક્રોફોન પર આપણે બોલીએ તો એનું ડીજીટલ સ્વરુપ કમ્પ્યુટરમાં રેકોર્ડ થાય છે. ડીવીડીમાં ચલચીત્રનું અંકન, કોઈ પત્રનું સ્કેનીંગ, કે તાપમાન, દબાણ, પ્રકાશ વગેરેની માહીતીને પણ ડીજીટલમાં ફેરવી શકાય છે. એ જ પ્રમાણે, ડીજીટલ માહીતીને પાછી જે તે પ્રકારનાં સીગ્નલમાં ફેરવી શકાય છે. આ પ્રક્રીયા માટે એનેલોગ-ટુ-ડીજીટલ (analog-to-digital) કે ડીજીટલ-ટુ-એનેલોગ (digital-to-analog) એવો શબ્દપ્રયોગ થાય છે. AtoDને એંકોડીંગ (encoding) અને DtoAને ડીકોડીંગ (decoding) પણ કહે છે.
આ પ્રક્રીયા સમજવા માટે એક ઉદાહરણ જોઈએ. અવાજનાં મોજાંને એક સ્થીતીસ્થાપક દોરી સ્વરુપે લો. એક ઉદ્ગમ સ્થાન કલ્પી લો, ત્યાંથી અમુક અંતરે એક રેકોર્ડર મુકેલું છે ત્યાં સુધી આ દોરી બાન્ધેલી છે. રેકોર્ડર દર એક સેકંડે એના તરફની દોરીનો છેડો કેટલો ઉંચે કે નીચે જાય છે, એની માપણી કરે છે. હવે, ઉદ્ગમ સ્થાનેથી કોઈ વ્યક્તી એ તરફનાં દોરીના છેડાને ઉપર-નીચે ઝુલાવે છે. આ ઝોલ ધીરે રહીને અમુક સમયે રેકોર્ડર સુધી પહોંચે છે. રેકોર્ડર દર સેકન્ડે જે માપ લે છે, એ ધારો કે આ મુજબ છે :
સેકંડ — 1 —– 2 —— 3
ઝોલ — 5cm - 2cm - 3cm
હવે, રેકોર્ડર આ માપને બાયનરી સ્વરુપે સંગ્રહે છે એમ વીચારો. આ પ્રક્રીયાને એનેલોગ-ટુ-ડીજીટલ કહેવાય છે. એનાથી વીરુધ્ધ પ્રક્રીયા (ડીજીટલ-ટુ-બાયનરી)માં રેકોર્ડર એના તરફની દોરીને જે તે સેકન્ડે અમુક સેંટીમીટરનો ઝોલ આપે છે.
હવે, રેકોર્ડર જેટલી વધુ ઝડપથી આ માહીતીને માપે એટલી વધુ ચોકસાઈ મળે. એક સેકંડમાં થતું આવું સેમ્પલીંગ એ સેમ્પલીંગ ફ્રીક્વંસી (sampling frequency) તરીકે ઓળખાય છે. રેકોર્ડરની સેમ્પલીંગ ફ્રીક્વંસી જેમ વધારે એમ મુળ માહીતીને વધુ ચોકસાઈથી ફરી રજુ કરી શકાય. વળી, રેકોર્ડર કેટલું ઝીણું માપી શકે છે, એ પણ માહીતીને સંગ્રહવામાં ભાગ ભજવે છે. એનેલોગ માહીતીના સીગ્નલનું કદ મહત્તમ કેટલુ હશે એ મુજબ કેટલા બીટનું સેમ્પલીંગ થાય છે, એ જુઓ. જેમ કે, એક થર્મોમીટર મહત્તમ 100 સેલ્સીયસ માપતું હોય અને જો આ માહીતી 8-બીટ તરીકે સંગ્રહીત થતી હોય, તો સામે આ જ થર્મોમીટરને 16-બીટની માહીતી તરીકે સંગ્રહવામાં આવે તો 1 ડીગ્રીના વધારે ચોક્કસ સ્થાન સુધીનું માપ મળી શકે.
આપણે એમપી3 (MP3)ફાઈલથી પરીચીત છીએ. એમાં જુદાં-જુદાં બીટરેઈટ(bit rate)ને સરખાવી જુઓ. 196 kbits/s અને 256 kbits/s બીટરેઈટ વચ્ચેનો તફાવત સમજો. પ્રથમમાં 196000 બીટ્સ એક સેકંડમાં સંગહીત થાય છે, જ્યારે બીજામાં 256000 બીટ્સ એક સેકંડમાં સંગ્રહીત થાય છે. વળી, સેમ્પલીંગ ફ્રીક્વંસી 44.1 KHz અને 48 KHz સરખાવો. પ્રથમમાં એક સેકંડમાં 44100 વખત સેમ્પલીંગ થાય છે, જ્યારે બીજામાં 48000 વખત થાય છે. હવે, આ સેમ્પલીંગ 8-બીટનું એક એવું થાય અને 16-બીટનું એક એવું થાય, તો એ બે વચ્ચેનો તફાવત સમજો.
કમ્પ્યુટર મોનીટર
February 25, 2008 at 9:28 pm | In ચીરાગ | 2 Commentsકમ્પ્યુટર મોનીટર - ચીરાગ પટેલ Feb 25, 2008
કમ્પ્યુટર શબ્દ બોલાય એટલે તરત જ આપણા મગજમાં એના મોનીટર (monitor) કે ડીસ્પ્લે ટેર્મીનલ (display terminal) નજર સમક્ષ આવે. (આવે જ ને ભાઈ, સુન્દર મુખડું કોને ના ગમે?) મોનીટરમાં પણ પ્રોસેસરની માફક કેટલાંય પરીવર્તન આવી ગયા છે. પહેલાં તો ભારેખમ પીક્ચર ટ્યુબ (picture tube) કે સી.આર.ટી.(CRT - cathode ray tube) મોનીટર ને સમ્ભાળવા પડતાં હતાં. હવે, સ્લીક અને સેક્સી એલ.સી.ડી. (LCD - liquid crystal display) કે પ્લાઝ્મા (plasma) મોનીટર આવી ગયા છે. (હીન્દી ફીલમની માફક જ સ્તો વળી… હવેની બધી હીરોઈન સ્લીમ-ટ્રીમ જ હોય છે ને…) બે વર્શ રાહ જુઓ, પછી તો પાતળી પદમણી જેવાં ઓલેડ (OLED - organic light emitting diode) ડીસ્પ્લે આવી જશે.
સી.આર.ટી. વધારે પાવર ખાતાં હતાં (તો જ તોસ્તાન બને…), એલ.સી.ડી. એ બાબતે હમ્મેશાં ડાયેટીંગ કરતાં હોય છે. વળી, એટલે જ, CRTથી સલામત અંતર રાખીને કામ કરવું સલાહભર્યું હતું ક, જેથી આંખોને વધુ નુકશાન ના થાય (એ તો LCD હશે તો પણ થશે જ, કારણ, લોકો એની સાથે વધારે સમય પસાર કરવા ઈચ્છશે!!!). ઘણી બધી બાબતોમાં દરેક પ્રકારનાં ડીસ્પ્લેમાં ફેર હોય છે.
કોંટ્રાસ્ટ રેશીયો (contrast ratio) - સહુથી પ્રકાશીત ટપકું (સફેદ) અને સહુથી ઘેરું ટપકું (કાળું) વચ્ચે પ્રતીદીપ્તી (લ્યુમીનંસ- luminance) ની સરખામણી. LCDમાં આ રેશીયો ઘણો ઓછો હોય છે. જો કે, સેમસંગના LCD મોનીટરનો રેશીયો ઘણો સારો હોય છે.
રીફ્રેશ રેઈટ (refresh rate) - એક વાર સ્ક્રીન રચવામાં લાગતો સમય. આ બાબતે પણ CRT ઘણાં સારા હોય છે. સેમસંગ (samsung) કે એલ.જી. (LG) LCD નો રીફ્રેશ રેઈટ પ્રમાણમાં ઘણો સારો હોય છે. (જો જો ભાઈ, હું સેમસંગ કે એલ.જી.ના માર્કેટીંગ માટે કામ નથી કરતો…)
અસ્પેક્ટ રેશીયો (aspect ratio) - હોરીઝોંટલ (horizontal) અને વર્ટીકલ (verticle) માપનું પ્રમાણ. અત્યાર સુધી 4:3 ના મોનીટર આવતાં હતાં, હવે 16:9 જેને વાઈડ સ્ક્રીન (wide screen) કહે છે, એવાં મોનીટર મળે છે. ધારો કે 1024 પીક્સેલ (pixel) અર્થાત ટપકાં જેટલી પહોળાઈ ધરાવતાં મોનીટરનો અસ્પેક્ટ રેશીયો જો 4:3 હોય તો,
એની ઉંચાઈ 768 પીક્સેલ હશે, જ્યારે 16:9 વાળા મોનીટરની ઉંચાઈ 576 પીક્સેલ હશે.
રીઝોલ્યુશન (resolution) - મોનીટરમાં કેટલાં પીક્સેલ છે એનું માપ. જેમ કે, 1024 x 768 વગેરે. વધુ માહીતી માટે આ લીંક જુઓ: http://en.wikipedia.org/wiki/Display_resolution
હવે તો, LCD કે પ્લાઝ્મા ટીવીનો પણ કમ્પ્યુટર સ્ક્રીન તરીકે ઉપયોગ કરી શકાય છે. આ માટે, જે તે ટીવીમાં વી.જી.એ. કનેક્ટર (VGA - video graphics adapter) હોય છે. તો સામે, કમ્પ્યુટરમાં પણ ટીવી ટ્યુનર (TV tuner) કાર્ડ નાંખીને, કેબલ લગાડી શકાય છે અને ટીવીની માફક જ ચેનલ નીહાળી શકાય છે.
પીક્સેલ રચવા માટે CRT લાલ-લીલો-ભુરો (RGB) રંગનાં કીરણો મીશ્રીત કરીને જે તે રંગ નીપજાવે છે. જ્યારે, LCDમાં પીક્સેલને ઈલેક્ટ્રીકલ સીગ્નલ આપવામાં આવે છે અને એ પીક્સેલ જે તે રંગ ધારણ કરે છે. (માણસને રંગ બદલવા માટે બહારનાં કોઈ સીગ્નલની આવશ્યક્તા હોતી નથી.)
એકથી વધુ મોનીટરને એક કમ્પ્યુટર સાથે પણ જોડી શકાય છે, અને જો સોફ્ટવેર કે ડ્રાયવર એ પ્રમાણે હોય તો દરેક મોનીટરમાં દેખાતાં દ્રશ્યને વહેંચી શકાય છે.
કમ્પ્યુટર કે લેપટોપમાં ઘણી વાર S-Video કનેક્ટર હોય છે, જેનાથી ટીવી પર કમ્પ્યુટરનો આઉટપુટ આપી શકાય, પરંતુ ટીવીમાં જો VGA કનેક્ટર હોય તો એ વાપરવું હીતાવહ છે. એનાથી દ્રશ્ય વધારે સારું દેખાશે.
મેમરી અને સ્ટોરેજ
January 30, 2008 at 10:31 pm | In ચીરાગ | 2 Commentsમેમરી અને સ્ટોરેજ - ચીરાગ પટેલ Jan 30, 2008
કમ્પ્યુટરમાં સીપીયુ (CPU) જેવો જ અગત્યનો ભાગ છે - સ્ટોરેજ (storage) અથવા મેમરી (memory). મેમરીના જુદાં જુદાં પ્રકાર છે અને મેમરી વગર સીપીયુ કામ કરી શકતું નથી! (જો કે, આપણો ઉપલો માળ ખાલી હોય તો પણ કામ તો કરે જ છે…). સ્ટોરેજ એટલે માહીતીના જથ્થાનો સંગ્રહ કરતો ભાગ (આપણા સ્ટોરેજમાં જંકફુડ વધારે હોય છે. કમ્પ્યુટર જો એવું કરવા લાગે તો આપણે એને ઉઠાવીને ફેંકી દઈએ.). આ સ્ટોરેજ 1 અને 0માં માહીતી સંગ્રહે છે, એટલે એનાં સેલ સ્વીચની માફક ચાલુ-બંધ હોય એ પ્રમાણે 1 અને 0 એવું ગણવામાં આવે છે. ભવીષ્યમાં એક ઈલેક્ટ્રોન બરાબર આવી એક સ્વીચ થાય એવા કમ્પ્યુટર આવશે ત્યારે કમ્પ્યુટરનું કદ ઘણું જ નાનું થઈ જશે. (અને જો ક્વાર્કને સ્વીચ તરીકે વાપરીયે તો!!!)
પ્રાયમરી સ્ટોરેજ (Primary Storage) એટલે એવું સ્ટોરેજ જે પ્રોસેસર સીધું જ વાપરી શકે. એમાં મુખ્યત્વે પ્રોસેસરનાં રજીસ્ટર, કૅશ, અને રૅમ (RAM- Random Access Memory)નો સમાવેશ થાય છે. આ બધી મેમરી પાવર જાય એટલે ભુંસાઈ જાય છે (કાશ, સ્ત્રીઓની યાદશક્તી આવી હોત…). એટલે, એને વોલેટાઈલ (volatile) મેમરી કહે છે. કમ્પ્યુટરમાં જ્યારે કોઈ એપ્લીકેશન કે ઓપરેટીંગ સીસ્ટમ ચાલુ હોય ત્યારે આ ત્રણેય પ્રકારની મેમરી વપરાતી હોય છે. બાયોસ-રોમ (BIOS-ROM કે ROM-BIOS) તરીકે ઓળખાતી મેમરી પણ વપરાય છે. આ મેમરી નોન-વોલેટાઈલ (Non-volatile) હોય છે. નોન-વોલેટાઈલ મેમરી કમ્પ્યુટરને વીજળી ના મળે તો પણ બધી માહીતી સંગ્રહી રાખે છે (જેથી પુનર્જન્મ વખતે કામ લાગે…). રજીસ્ટર અને કૅશ એ પ્રોસેસરની અંદર હોય છે. આજના બધાં સીપીયુ L1 અને L2 કૅશ તરીકે જાણીતી યુક્તી વાપરીને માહીતીની અતીઝડપી આપ-લે કરતાં હોય છે (એ વીશે ફરી ક્યારેક ચર્ચા કરીશું).
રોમ મેમરી એના નામ પ્રમાણે ખાલી વાંચવા નથી હોતી (ROM - Read Only Memory). પરંતું, એને લખવા માટે લાંબું કાંતવું પડે છે, એટલે જવલ્લે જ લખાતી માહીતી એના પર રાખવામાં આવે છે.
સેકંડરી સ્ટોરેજ (Secondary Storage) મોટે ભાગે કાયમી માહીતીનો સંગ્રહ કરે છે. સીપીયુ આ સ્ટોરેજ સાથે પ્રાયમરી સ્ટોરેજ વડે જ માહીતીની આપ-લે કરી શકે છે (બૉસને મળતાં પહેલાં સેક્રેટરી સાથે વાત કરવી જરુરી છે. વળી, આ સેક્રેટરી ટુંકામાં ટુંકી યાદશક્તી ધરાવે એ ખુબ જ જરુરી છે.). સેકંડરી સ્ટોરેજમાં હાર્ડ ડીસ્ક (Hard Disc), સીડી (CD - Compact Disc), ડીવીડી (Digital Video Disc), ટેપ ડ્રાઈવ (Tape Drive), ફ્લોપી ડીસ્ક (Floppy Disk), ઝીપ ડ્રાઈવ (ZIP Drive), યુએસબી ડ્રાઈવ (USB - Universal Serial Bus Drive) વગેરેનો સમાવેશ કરી શકાય. આ બધી સ્ટોરેજની ક્ષમતા ખુબ જ હોય છે. મોટે ભાગે, ફાઈલના સ્વરુપે અહીં બધી માહીતી સંગ્રહાય છે.
ટર્શરી સ્ટોરેજ (Tertiary Storage) એક મોટા પુસ્તકાલય સમાન હોય છે. એમાં ઑટોમેટીક મશીનથી ઘણી બધી ડ્રાઈવ સીસ્ટમ સાથે અટૅચ કે ડીટૅચ થતી હોય છે.
ઑફલાઈન સ્ટોરેજ (Offline Storage) કમ્પ્યુટરથી છુટું પાડી શકાય છે. પેન-ડ્રાઈવ કે જે યુએસબી પર ચાલે છે, ફ્લૉપી, સીડી, ડીવીડી, ફ્લૅશ વગેરે આના ઉદાહરણ છે (ચલતી કા નામ ગાડી?).
સ્ટોરેજના આ પ્રકારો પર વીગતે ચર્ચા ફરી કરીશું.
માઈક્રો પ્રોસેસર
December 24, 2007 at 9:12 pm | In ચીરાગ | 5 Commentsમાઈક્રો પ્રોસેસર - ચીરાગ પટેલ Dec 24, 2007
માણસના શરીરમાં કેટલાં બધાં અવયવો છે! એમાંથી કેટલાંક દેખાય છે, જ્યારે કેટલાકનું કામ દેખાય છે. દરેક અવયવોને નીયંત્રીત કરતું અંગ છે - મગજ. જો મગજ બંધ તો બધું જ બંધ. દરેક જીવ કે યંત્રમાં કોઈ એક એવું અંગ હશે જ, કે જે સમગ્ર દેહ/યંત્રને સંચાલીત કરતું હશે. આ બ્લોગ (વીજાંશ) જે વીષયને સમજવા પ્રયત્ન કરે છે, તે કમ્પ્યુટર નામના યંત્રને આભારી છે. કમ્પ્યુટરને સંચાલીત/નીયંત્રીત કરતું અંગ છે - સેંટ્રલ પ્રોસેસીંગ યુનીટ (Central Processing Unit અથવા ટુંકમાં CPU). દરેક કમ્પ્યુટરમાં એક કે એકથી વધુ માઈક્રોપ્રેસેસર (Microprocessor) વડે સીપીયુ બને છે (આપણા મગજના જુદા જુદા ભાગ મળીને એક યુનીટ - મગજ બનાવે એ જ પ્રમાણે). માઈક્રોપ્રોસેસરમાં અસંખ્ય (કરોડોની સંખ્યામાં) સુક્ષ્મ ટ્રાંઝીસ્ટર(Transistor) હોય છે. મગજનાં જ્ઞાનતંતુઓની માફક જ આ બધાં ટ્રાંઝીસ્ટર ભેગાં મળીને કામ કરતાં હોય છે.
જેવી રીતે પ્રાણીની ઉત્ક્રાંતી થવાથી મગજનું કદ વધતું ગયું છે અને મગજની કામગીરી વધતી ચાલી છે, એવી જ રીતે માઈક્રોપ્રોસેસરની ક્ષમતામાં વધારો થતો જાય છે. Moore’s Law (મુરનો નીયમ) પ્રમાણે દર 18 મહીને માઈક્રોપ્રોસેસરની ક્ષમતા બમણી થતી હોય છે. (એક ગુજરાતીને પોરસાવાનું આથી વધુ મોટું કારણ કયું હોય? જે રોકાણ 18 મહીને બમણું થતું હોય એમા કયો લાલો પાછો હટે?). પહેલવહેલા માઈક્રોપ્રોસેસરની જે ક્ષમતા હતી, એ કરતાં 1 કરોડગણી વધુ ક્ષમતા અને એના કરતાં 5મા ભાગનું કદ આજના પ્રોસેસરમાં છે! અને આ પ્રગતી માત્ર 25 વર્ષમાં જ થઈ છે (… ભારે ઝડપી ઉત્ક્રાંતી, ભારે કરી … )!
આવા માઈક્રોપ્રોસેસરમાં ગાણીતીય અને તાર્કીક કામ કરવા માટે એએલયુ (ALU or Airthmetic and Logic Unit) હોય છે. માહીતીનો સંગ્રહ કરવા મેમરી યુનીટ(MU or Memory Unit) હોય છે. કામકાજ કરવા હાથ-પગ જેવાં રજીસ્ટર (Registor) હોય છે. આ બધાં યુનીટ કેટલાં બીટની માહીતી એકસાથે આપ-લે કરે છે એના પરથી એમના નામ પડે છે. જેમ કે, 8-બીટ, 16-બીટ, 32-બીટ અને 64-બીટ મશીન. એટલે કે, માઈક્રોપ્રોસેસર એના એક કોળીયામાં આટલા બીટની ક્ષમતાનો માહીતીનો જથ્થો લઈ શકે છે (બસ, વધુમાં વધુ 64-બીટ? આપણે બંદા તો એક કોળીયામાં ચોખાનાં 150 દાણા ખાઈ શકીએ
). 8-બીટ એટલે 1 બાઈટ એવું યાદ છે ને?
પહેલ વહેલું માઈક્રોપ્રોસેસર ઈંટેલ (Intel) કમ્પનીએ 4004, ટેક્ષાસ ઈંસ્ટ્રુમેંટ્સ (Texas Instruments) TMS 1000, અને ગેરેટ એઆઈ રીસર્ચ (Garrett AiResearch) CADC બનાવ્યું હતું. આ ત્રણેય લગભગ સાથે-સાથે જ બઝારમાં મુકાયા હતાં. આ બધાં 1970ની આસપાસ 4-બીટના માઈક્રોપ્રોસેસર તરીકે આવ્યાં હતાં.
ડ્યુઅલ કોર પ્રોસેસર (Dual-core Processor) હવે વપરાશમાં આવતાં જાય છે. 64-બીટના પ્રોસેસરનું કદ એટલું જ રાખીને એમાં બે પ્રોસેસર ફીટ કરવાથી ડ્યુઅલ કોર પ્રોસેસર બને છે (આપણી એક ખોપરીની અંદર, ખોપરીનું કદ વધાર્યા વગર બે મગજ ફીટ કરી દઈએ, એવું)! એ જ પ્રમાણે હવે તો ક્વૅડ કોર (Quad-core) અને એઈટ કોર (Eight-core) પ્રોસેસર અમુક હાઈ-પ્રોસેસીંગ સીસ્ટમમાં વપરાય છે (એક જ ખોપરીમાં આઠ મગજ!!!).
આપણે બોલચાલની ભાષાને સાંકેતીક શબ્દોમાં ફેરવીએ તો અક્ષરોની સંખ્યા ઘટાડી શકીએ. ૐ કે સ્વસ્તીક આનું પ્રાચીન ઉદાહરણ છે. એ પ્રમાણે માઈક્રોપ્રોસેસરની માહીતીની આપ-લે કરવાની જે ભાષા છે, એના શબ્દો ઘટાડીને જે માઈક્રોપ્રોસેસર બને છે એમને રીસ્ક પ્રોસેસર (RISC or Reduced Instruction Set Computer) કહે છે. માઈક્રોપ્રોસેસરની ભાષાને એસેમ્બ્લી લેંગ્વેજ (Assembly Language) કહે છે. એમાં પણ પ્રગતી થઈને હવે 64-બીટ પ્રોસેસર મળે છે એને સીસ્ક (CISC or Complex Instruction Set Computer) કહેવાય છે. આમ, માઈક્રોપ્રોસેસરનું કદ, માહીતી આપ-લે ક્ષમતા, ભાષા દરેકમાં ધરખમ ફેરફાર આવતાં જ જાય છે. (આપણે આપણા વીચારોને ભાષાનાં વાઘાં પહેરાવ્યાં વગર જ્ઞાનતંતુઓની આપ-લેની વીજ-રાસાયણીક ભાષામાં વાત કરી શકીએ?)
માઈક્રોપ્રોસેસરને માઈક્રોકંટ્રોલર (Micro-controller), ડીજીટલ સીગ્નલ પ્રોસેસર (Digital Signal Processor or DSP), સીસ્ટમ ઓન ચીપ (SoC or System-on-Chip) વગેરે નામે પણ ઓળખવામાં આવે છે. ખાસ કામ માટે વપરાતાં માઈક્રોપ્રોસેસરને જે તે કામ મુજબનું નામ આપવામાં આવે છે. જેમ કે, ગ્રાફીક્સનું કામ કરતાં પ્રોસેસરને GPU or Graphics Processing Unit કહે છે.
જુદી-જુદી કમ્પનીના પ્રોસેસરની ડીઝાઈનમાં થોડાં પાયાનાં ફેરફાર હોય છે. ઈંટેલના પ્રોસેસર લીટલ એંડીયન(Little Endian) કહેવાય છે, જ્યારે પાવર પીસી (PowerPC) બીગ એંડીયન (Big Endian) કહેવાય છે. 32-બીટ પ્રોસેસર હોય અને લીટલ એંડીયન હોય તો બીટ 0નું સ્થાન જમણી બાજુ હોય અને બીટ 31 ડાબી બાજુ હોય, જ્યારે બીગ એંડીયનમાં બીટ 0નું સ્થાન ડાબી બાજુ અને બીટ 31નું સ્થાન જમણી બાજુ હોય (આપણે આપણું મોઢું અરીસામાં જોઈએ તો પ્રતીબીંબ પલટાયેલું લાગે છે, એવું જ).
કેટલાંક પ્રચલીત પ્રોસેસર બ્રાંડ: 65xx, ARM, RCA, DEC, Intel, MIPS, Motorola 6800, IBM POWER, OpenRISC, PA-RISC, SPARC, AMD, Xilinx વગેરે.
ઈતીશ્રી માઈક્રોપ્રોસેસર કથાયૈ નમઃ॥
યુનીકોડ ફોંટ
November 5, 2007 at 12:25 am | In ચીરાગ | 9 Commentsયુનીકોડ ફોંટ - ચીરાગ પટેલ Nov 04, 2006
આપણે જોઈ ગયા, કે દરેક કેરેક્ટરને એક ચોક્કસ બાઈટ સંખ્યા વડે દર્શાવાય છે. એક બાઈટ, એટલે 8 બીટ અથવા 2 નીબલ, વડે 0થી લઈને 255 સુધીની જ સંખ્યા સમાવી શકાય. એટલે પ્રચલીત ભાષાઓમાં લખાણ માટે જે તે ફોંટ બનાવનારે આ મર્યાદામાં રહીને જ અક્ષરો દર્શાવવાના થયાં. અને એમાં પણ ભારે ઉથલ-પાથલ મચી ગઈ. એક જણે ગુજરાતીના ‘ક’ માટે 78નો અંક રાખ્યો અને બીજાએ 98નો અંક રાખ્યો. આમ, એક ફોંટમાં લખેલી ફાઈલને ખોલવા માટે બીજો ફોંટ લગભગ નકામો! અને વીચારો કે ગુજરાતીમાં લખેલી ફાઈલને ઈંગ્લીશ કે અરેબીકમાં ખોલીએ તો…
આ બધી અંધાધુંધી જો કે ઈંગ્લીશ સીવાયની લીપી માટે રહી. ઈંગ્લીશમાં તો જુદાં જુદાં ફોંટ વાપરવા છતાં અક્ષરો દર્શાવવાની સંખ્યા તો ચોક્કસ જ રહી. એટલે, ટાઈમ્સમાં લખેલી ફાઈલ એરીયલ ફોંટ વડે ખુલે તો ખરી જ. માત્ર, જે તે અક્ષરના વળાંકો અલગ રીતે જોવા મળે. આવું કાંઈક બીજી બધી લીપી માટે વીચારી શકાય?
આ જ પ્રશ્નમાંથી યુનીકોડને નીયમબધ્ધ કરવાની શરતો નક્કી થઈ. યુનીકોડમાં UTF-7, UTF-8, UTF-16 વગેરે અલગ-અલગ નીયમો પ્રચલીત થયા. અને યુનીકોડમાં ફોંટ બનાવવા માટે બે બાઈટનો ઉપયોગ કરવાનું વીચારાયું. આમ, બે બાઈટ વડે 0થી લઈને 65535 સુધીની સંખ્યા લખી શકાય, એટલે દુનીયાની દરેક પ્રચલીત લીપી માટે ચોક્કસ સંખ્યા-ગાળો નક્કી કરવામાં આવ્યો. હવે તો, 4 બાઈટના યુનીકોડ વીશે પણ વીચારણા ચાલી રહી છે! એટલે 0થી લઈને 65535 * 65535 સુધીની સંખ્યા દર્શાવી શકાય!
UTF-8 એ આસ્કી કેરેક્ટર સાથે સારી રીતે સુસંગત થાય છે, એટલે વધુ પ્રચલીત છે. આપણે, લીપી પ્રમાણે થોડી સંખ્યાઓ જોઈએ.
દેવનાગરી - 0×0900 - 0×097f
ગુજરાતી - 0×0a80 - 0×0aff
વધુ માહીતી માટે જુઓ: http://en.wikipedia.org/wiki/Basic_Multilingual_Plane#Basic_Multilingual_Plane
હવે, ગુજરાતીના દરેક અક્ષર માટે ઉપર દર્શાવેલા અંતરાલમાંથી એક ચોક્કસ સંખ્યા નક્કી થઈ છે. જેમ કે, ‘ક’ માટે 0×0a95, ‘ૐ’ માટે 0×0ad0, વગેરે. વધુ માહીતી માટે જુઓ: http://en.wikipedia.org/wiki/Gujarati_script
વીંડોઝ એક્ષ.પી. સાથે શ્રુતી ફોંટ આવે છે જે યુનીકોડ છે. એ ફોંટમાં લખેલી ફાઈલને બીજા કોઈ યુનીકોડ ફોંટ વડે ખોલીએ તો આપણને ‘ક’ જ્યાં હોય ત્યાં જ દેખાશે, પરંતુ એ જુદા ફોંટ વડે મરોડમાં થોડો ફેર હોઈ શકે. આમ, યુનીકોડ વડે દરેક અક્ષરનું ચોક્કસ સંખ્યા-સ્થાન નક્કી થઈ ગયું છે, જેણે ઈંટરનેટના વપરાશમાં ક્રાંતી લાવી દીધી. પહેલાં તો જે તે વેબ-સાઈટ પોતાના ફોંટ બનાવે જે ડાઉનલોડ કરવા પડે, અને તો જ જે તે સાઈટ દેખાય. જ્યારે હવે તો, યુનીકોડમાં બનેલી સાઈટ જોવા એવું કરવાની જરુર નથી પડતી (જો કે, અમુક અપવાદ હોઈ શકે છે).
www.bhashaindia.com પરથી આસ્કી <-> યુનીકોડ બન્ને રીતે ફાઈલને પરીવર્તીત કરવાને યુટીલીટી ડાઉનલોડ કરી શકાય છે (TBILconverter). વિશાલે પણ www.gurjardesh.com પર ઓનલાઈન યુટીલીટી મુકી છે.
બાઈટોપીડીયા
October 13, 2007 at 4:01 pm | In ચીરાગ | 4 Commentsબાઈટોપીડીયા - ચીરાગ પટેલ Oct 13, 2007
આપણે ઘણીવાર એવું સાંભળ્યું હશે, કે મારી હાર્ડ ડ્રાઈવ (hard disc drive) 80GBની છે. તો આ 80જીબી વળી શી બલા છે? અહીં જી.બી. એટલે ગીગા બાઈટ (Giga Byte)નું મીતાક્ષરી સ્વરુપ. આમ, 80જીબી હાર્ડ ડ્રાઈવમાં 80ગીગા બાઈટ જેટલી માહીતીનો સંગ્રહ થઈ શકે. પ્રચલીત પધ્ધતી પ્રમાણે, 1KB એટલે 1 કીલો બાઈટમાં કુલ 1024 બાઈટ હોય! (1કીલો મીટરમાં 1000 મીટર હોય! આ વળી કેમનું થયું?) આમ થવાનું કારણ એ કે બાયનરી પધ્ધતીમાં 2ના ગુણાંકમાં ગણતરી થતી હોય છે. 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 = 1024 થાય! પ્રમાણમાપની આંતરરાષ્ટ્રીય સંસ્થા Systems International (SI)એ નક્કી કરેલાં ધારાધોરણ મુજબ 1KB એટલે 1000બાઈટ જ ગણવા અને પ્રચલીત 1KBને 1KiB (kibibyte) કહેવું એવું ઠરાવવામાં આવ્યું છે. પ્રચલીત ગણતરી મુજબ જોઈએ તો:
1KB = 1કીલો બાઈટ = 1024 બાઈટ = 2 exp 10 (2ની 10મી ઘાત, અર્થાત 2 * 2 * 2… એમ 10 વખત)
1MB = 1મેગા બાઈટ = 1024 * 1024 બાઈટ = 1048576 બાઈટ = 2 exp 20
1GB = 1 ગીગા બાઈટ = 1024 * 1024 * 1024 બાઈટ = 2 exp 30
1TB = 1 ટેરા બાઈટ = 1024 * 1024 * 1024 * 1024 બાઈટ = 2 exp 40
1PB = 1 પીટા બાઈટ = 1 ટેરા બાઈટ * 1024 બાઈટ = 2 exp 50
1EB = 1 એક્ઝા બાઈટ = 1 પીટા બાઈટ * 1024 બાઈટ = 2 exp 60
1ZB = 1 ઝેટ્ટા બાઈટ = 1 એક્ઝા બાઈટ * 1024 બાઈટ = 2 exp 70
1YB = 1 યોટ્ટા બાઈટ = 1 ઝેટ્ટા બાઈટ * 1024 બાઈટ = 2 exp 80
8 બીટનો 1 બાઈટ બને છે. હવે, 4 બીટના સમુહને 1 નીબલ (nibble) કહે છે. એક બાઈટની સંખ્યા લખવામાં સરળતા રહે એ માટે બે નીબલના ગ્રુપમાં તે સંખ્યા લખવામાં આવે છે. જેમ કે, 1011 1011b, 0011 1100b, વગેરે. સંખ્યાને લખવાની પ્રચલીત રીત છે તેને બાયનરીને બદલે હેક્ઝાડેસીમલમાં લખવી. હેક્ઝાડેસીમલમાં 0,1,2,3,4,5,6,7,8,9 સુધીનાં અંકો અને ત્યાર બાદ 10ને બદલે A(a), 11ને બદલે B(b), 12ને બદલે C(c), 13ને બદલે D(d), 14ને બદલે E(e), અને 15ને બદલે F(f) લખવામાં આવે છે. અને સંખ્યાને 0x(Zero-x)થી પ્રીફીક્સ કે h વડે પોસ્ટ્ફીક્સ કરવામાં આવે છે. ચાલો ત્યારે, થોડાં ઉદાહરણો કરીશું?
1011 1100b માં 1011b = 11(8+2+1) છે અને 1100b = 12(8+4) છે. હવે 11 એટલે B અને 12 એટલે C. આમ, 1011 1100b = 0xBC અથવા 0xbc અથવા bch. એને ડેસીમલમાં ફેરવીએ તો? એક નીબલમાં 0થી 15 સુધીની સંખ્યા દર્શાવી શકાય, એટલે કે કુલ 16 સંખ્યાઓ દર્શાવી શકાય છે.બાઈટમાંના ડાબી બાજુથી પહેલાં નીબલને 16 વડે ગુણો અને બીજા નીબલને તેમાં ઉમેરો, તો હેક્ઝાડેસીમલ સંખ્યા ડેસીમલ બની જશે! આપણાં ઉદાહરણમાં, 0xbc = 11 * 16 + 12 = 176 + 12 = 188. હેક્ઝાડેસીમલમાં એક બાઈટમાં દર્શાવાતી સહુથી નાની સંખ્યા = 0×00 = 0, અને સહુથી મોટી સંખ્યા = 0xFF = 255. કમ્પ્યુટરમાં કેલ્ક્યુલેટરની એપ્લીકેશનમાં તમે એનાં “View” મેન્યુમાંથી “Scientific” સીલેક્ટ કરો. તમે ડાબી બાજુ ઉપર તરફ રેડીયો બટન જોશો, જેમાં Hex - Dec - Oct - Bin છે. ડીફૉલ્ટ સીલેક્શન ડેસીમલ હોય છે. કોઈ પણ 0થી255 વચ્ચેની સંખ્યા લખીને હેક્ઝ કે બીન સીલેક્ટ કરી જુઓ. ગમ્યું? (હવે ખ્યાલ આવ્યો કે શા માટે એક બાઈટને 4બીટ એટલે કે એક નીબલના જોડકામાં લખવામાં આવે છે? અને એમાં પણ હેક્ઝાડેસીમલ કેમ સરળ પડે છે એ પણ ખ્યાલ આવ્યો?) ફરી ઉપરનું ઉદાહરણ લખીએ તો,
188 = 1011 1100b = 0xBC
0 = 0000 0000b = 0×00
255 = 1111 1111b = 0xFF
તમે કીબોર્ડ(keyboard)ને ધ્યાનથી જોયું હશે તો એમાં 0,1,2,…,9 અને A,B,…,Z તથા !,@,…,+ વગેરે જેવાં ચીહ્નો ધરાવતી કી હશે. શીફ્ટ કી, પેઈજ અપ, પેઈજ ડાઉન, વગેરે જેવી કી હશે. આ દરેક કીને એક ચોક્કસ બાઈટ સંખ્યા આપવામાં આવેલી છે. દા.ત.,
‘0′ = 0×30 = 48
‘A’ = 0×41 = 65
‘a’ = 0×61 = 97
આવા બાઈટકોડને આસ્કી(ASCII) કેરેક્ટર કહે છે. વધુ માહીતી માટે જુઓ: http://en.wikipedia.org/wiki/ASCII
જ્યારે જ્યારે કમ્પ્યુટરમાં કોઈ પણ માહીતીની આપ-લે થાય છે ત્યારે એ બાઈટ રુપે જ થાય છે; જેમ કે, કીબોર્ડથી સીપીયુ, સીપીયુથી મોનીટર, સીપીયુથી હાર્ડ ડીસ્ક ડ્રાઈવ, સીપીયુથી ઈંટરનેટ, વગેરે. તમે અત્યારે જે વાંચી રહ્યાં છો એ પણ બાઈટની જ આપ-લે છે.
આપણાં જે પ્રચલીત લખવાના ફૉંટ છે તે બધાં આસ્કી ફોંટ છે. એટલે કે, 0-255ની સંખ્યાને સાંકળે તેવાં ચોક્કસ કેરેક્ટર લખવામાં આવે છે. જે તે ફોંટ ઇંસ્ટોલ કરીએ એટલે વર્ડ જેવી એપ્લીકેશન એ ફોંટ પ્રમાણે સ્ક્રીન પર કેરેક્ટર દર્શાવે છે. આ બાબત સમજવા એક પ્રયોગ કરી જુઓ. વર્ડ ખોલીને અત્યારે જે ફોંટ હોય તે રાખીને એક વાક્ય લખો. પછી જુદાં-જુદાં ફોંટ સીલેક્ટ કરતાં જાઓ અને જુઓ કે એ પ્રમાણે સ્ક્રીન પર જે કેરેક્ટર દેખાય છે તેમાં કેવા ફેરફાર થાય છે? ( Control key દાબી રાખીને A દબાવો એટલે જે લખ્યું છે એ બધું સીલેક્ટ થશે અને પછી Format મેન્યુમાંથી Font સીલેક્ટ કરી, જે ડાયલોગ બૉક્ષ આવે તેમાં જુદાં-જુદાં ફોંટ સીલેક્ટ કરતાં જાઓ).
કમ્પ્યુટરની અંકપધ્ધતી
September 30, 2007 at 10:22 pm | In ચીરાગ | 13 Commentsકમ્પ્યુટરની અંકપધ્ધતી - ચીરાગ પટેલ Sep 30, 2007
આદરણીય જુગલકાકાએ મને કમ્પ્યુટર ક્ષેત્રે કાંઈક લખવા માટે પ્રેરકબળ પુરું પાડ્યું. એવું કાંઈક કે જે પાયાની માહીતી આપીને સામાન્ય વાચકને કમ્પ્યુટરનો ઉપયોગ કરવા માટે મજબુર કરી દે. આમ તો ઘણા સમયથી મારે C++ ભાષા (પ્રોગ્રામીંગની ભાષા) વીશે ગુજરાતીમાં લખવું શરું કરવું હતું, પરંતુ જુગલકાકાની વાતે મને એક નવી જ દીશા સુઝાડી! અને આ બ્લોગ તમારી સમક્ષ હાજર છે! તો હવે પડદો ઉંચકાય છે…
સૌપ્રથમ કમ્પ્યુટરનો અર્થ છે તે સમજીએ. કમ્પ્યુટરનો સરળ અર્થ છે: ગણતરી કરતું યંત્ર! પરંતું, કમ્પ્યુટર માત્ર ગણતરી કરીને અટકી જવાને બદલે આપણી સમક્ષ એક અવનવી દુનીયા ખડી કરી દે છે (મેટ્રીક્સ મુવીમાં દર્શાવ્યા મુજબ જ સ્તો!). માત્ર ગણતરી જ કરવી હતી તો ‘કેલ્ક્યુલેટર‘ છે જ ને. જો કે, કમ્પ્યુટર જે પણ કામ કરતું હોય, અંતે તો કરે છે ગણતરી જ (નામ પ્રમાણે કામ તો કરવું જ પડે ભાઈ). તો ચાલો, કમ્પ્યુટર એવું તો શું અને વળી કેવી રીતે ગણે છે તેની સમજુતી જોઈએ.
આપણે ગુજરાતીઓ ગણતરીમાં પાકાં કહેવાઈએ છીએ (કઈ, એ તો સહુ સમજીએ જ છીએ!). તો મને કહો, દશઅંકી (decimel) પધ્ધતી એટલે શું? (સુરેશદાદા વઢશે: લ્યા છોકરા, મશ્કરી કરે છે?) દશઅંકી પધ્ધતી ભારતે દુનીયાને આપેલી મહાનતમ ભેટ છે. કોઈ પણ સંખ્યાને 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 એમ કુલ દશ અંકો વડે દર્શાવવી એટલે દશઅંકી પધ્ધતી વાપરી એમ કહેવાય! (ભાઈ, દશઅંકી પધ્ધતી અને 10 જ ગાયબ થઈ ગયો? ના, 10 એટલે 0 અને 1 વડે બનતી સંખ્યા. એમ કાંઇ અમે કોઈને ખોટું લાગવા દઈએ?)
આ જ રીતે, કમ્પ્યુટર પોતાની ભાષામાં દ્વીઅંકી (binary) પધ્ધતીનો ઉપયોગ કરે છે. (બોલો ચતુરસુજાણો, દ્વીઅંકી પધ્ધતી એટલે શું?) (હવે ટપારવાનો વારો જુ.કાકાનો: ચીરાગ તમે અમને રસક્ષતી કરવાને બદલે, ભાષાને વહેવા દો અને અમને આકંઠ પાન કરવા દો.) એટલે કમ્પ્યુટર પોતાને માટે 0 અને 1 નો ઉપયોગ કરીને દરેક સંખ્યા બનાવે છે! (માથું ખંજવાળવું પડશે એવું લાગે છે? માફ કરજો. કમ્પ્યુટરનો 0 અને 1 માટેનો પ્રેમ આપણને કેવા નાચ નચાવે છે, નહીં?)
દરેક દશઅંકી સંખ્યાને દ્વીઅંકીમાં રુપાંતરીત કરવા તમને એક સાદો નીયમ જણાવું. 8-4-2-1 નો નીયમ. 0થી 15 સુધીની કોઈ પણ એક સંખ્યા ધારો. દા.ત., 12. હવે 8-4-2-1 નો ઉપયોગ કરીને 12 કેવી રીતે બને? 8+4 = 12. ઠીક? હવે, આપણે 12 બનાવવા માટે 8-4-2-1માંથી જે સ્થાન વાપર્યા હોય તેને બદલે 1 મુકો અને જે ના વાપર્યા હોય તેને સ્થાને 0 મુકો. શું બન્યું? 1-1-0-0 (8-4-2-1 નો ક્રમ જાળવવો અગત્યનો છે.). એટલે 12 (જે દશઅંકી છે)ને દ્વીઅંકીમાં 1100 કહેવાય. 1100ની સાથે ‘b’નું છોગું લગાવી દો એટલે કોઈ ગુંચવાડો ઉભો ના થાય. (નહીંતર, ગુજરાતીઓ ગભરાઈ જશે કે, માળું મેં 12રુપીયા આપ્યા હોય તેના 1100 થઈ ગયા?) આમ, 12 = 1100b. ચાલો જોઉં, હવે થોડી પ્રેક્ટીસ કરો. 0થી 15 સુધીની બધી દશઅંકી સંખ્યાને દ્વીઅંકીમાં ફેરવો. (સુ.દાદા: ઠીક ભાઈ, હવે 15થી મોટી સંખ્યાને દ્વીઅંકીમાં કેવી રીતે ફેરવું?) 8ના બમણા કરીએ તો શું મળે? શાબાશ, 16. તો હવે, 0થી 31 સુધીની દશઅંકી સંખ્યાને દ્વીઅંકીમાં ફેરવવા 16-8-4-2-1નો નીયમ લગાવો. 16-8-4-2-1 વડે દર્શાવાતી મોટામાં મોટી સંખ્યા જાણવી હોય તો કરો સરવાળો: 16+8+4+2+1=31!
દ્વીઅંકી સંખ્યાને દશઅંકીમાં ફેરવવા માટે પણ આ જ નીયમનો ઉપયોગ કરો. દા.ત., 10110b = 16+4+2 = 22. આમ, કોઈ પણ મોટી સંખ્યાને આપણે દ્વીઅંકીમાં ફેરવી નાંખીએ. અથવા દ્વીઅંકી સંખ્યાને દશઅંકી સંખ્યામાં. હવે કમ્પ્યુટરની ભાષામાં દરેક અંકને બીટ (bit) કહે છે. અને 8 બીટને 1 બાઈટ (byte) કહે છે. થોડી વાર માથું ખંજવાળી નાંખો અને મને એ કહો કે 1 બાઈટવડે લખાતી મોટામાં મોટી સંખ્યા કઈ? ધત્ત, 1111 1111b! (પ્રશ્નમાં એવું થોડું કહ્યું કે દશઅંકી સંખ્યા કહો?) નોંધ્યું? 4 બીટનાં ગ્રુપ બનાવીને સંખ્યા લખવામાં આવે છે કે જેથી કોઈ લોસ્મોચો ના થાય!. એમ ત્યારે, બોલો જોઉં, 1 બાઈટ વડે લખાતી મોટામાં મોટી દશઅંકી સંખ્યા કઈ? હમમમ… 128-64-32-16 8-4-2-1 નો નીયમ લાગુ પડ્યો! કેલ્ક્યુલેટર લેવું પડશે? (હા, જો અમેરીકામાં સ્કુલ કરી હોત તો. પણ, આપણે તો રહ્યાં દેશી!) 128+64+32+16+8+4+2+1 = 255! આમ, એક બાઈટ વડે 0થી લઈને 255 સુધીની કોઈ પણ દશઅંકી સંખ્યા લખી શકાય.
આ જ નીયમને વીસ્તારતા જઈએ તો જણાશે કે, 2 બાઈટ વડે 256 * 256 = 65536 (ઓછા 1) થાય, એટલે 0થી 65535 સુધીની સંખ્યા દર્શાવી શકાય. 4 બાઈટ વડે? રહેવા દો હવે…
કમ્પ્યુટર પોતાના કોઈ પણ કામકાજ માટે આ બાઈટરુપી કક્કાનો ઉપયોગ કરે છે. પછી એ દ્રશ્ય હોય કે લખાણ, મેમરીનો સંગ્રહ કરવાનો હોય કે પ્રીંટર પણ લખાણ છાપવાનું હોય! અને ઈંટરનેટ પર આટલો બધો માહીતીનો ધોધ વહે છે તે પણ 0 અને 1નો જ ઉપયોગ કરીને. કઈ રીતે? શું આજે જ બધું ભણી લેવું છે? આવતા અઠવાડીયાની રાહ જુઓને?
(સુરેશદાદા, જુગલકાકા; કાંઈ પણ અવીનય કર્યો હોય તે બદલ ક્ષમા)
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.