0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

C語言中位、字節(jié)和字的定義 整數(shù)類型與浮點數(shù)類型的比較

lcdz66 ? 來源:雨飛工作室 ? 2023-10-18 15:03 ? 次閱讀

一、位、字節(jié)和字

術語位、字節(jié)和字用于描述計算機數(shù)據(jù)單位或計算機存儲單位。這里主要指存儲單位。

最小的存儲單位稱為位(bit)。它可以容納兩個值(0或1)之一(或者可以稱該位被置為“關”或“開”),不能在一個位中存儲更多的信息,但是計算機中包含數(shù)量極其眾多的位。位是計算機存儲的基本單位。

字節(jié)(byte)是常用的計算機存儲單位。幾乎對于所有的機器,1個字節(jié)均為8位。這是字節(jié)的標準定義,至少在衡量存儲單位時是這樣(C語言中對此有不同的定義)。由于每個位或者是0或者是1,所以一個8位的字節(jié)包含256(2的8次方)種可能的0、1組合。這些組合可用于表示0到255的整數(shù)或者一組字符。這種表示可以通過二進制編碼(僅使用0或1方便地表示數(shù)字)來實現(xiàn)。

對于一種給定的計算機設計,字(word)是自然的存儲單位。對于8位微機,比如原始的Apple機,一個字正好有8位。使用80286處理器的早期IBM兼容機是16位機,這意味著一個字的大小為16位?;赑entium的PC機和Macintosh PowerPC中的字是32位。現(xiàn)在普遍的計算機是64位,但更強大的計算機還可以有更長位數(shù)的字。

二、整數(shù)類型與浮點數(shù)類型

對于人,整數(shù)和浮點數(shù)的區(qū)別在于它們的書寫。對于計算機,區(qū)別在于它們的存儲方式。下面分別對它們進行介紹。

1、整數(shù)

整數(shù)(integer)就是沒有小數(shù)部分的數(shù)。在C中,小數(shù)點永遠不會出現(xiàn)在整數(shù)的書寫中。例如1、-23和4561都是整數(shù)。數(shù)3.14、0.77和8.000都不是整數(shù)。整數(shù)以二進制數(shù)字存儲。例如整數(shù)9的二進制表示為1001,在8位的字節(jié)中存儲它需要將前4位置0,后4位為1001,即00001001。

2、浮點數(shù)

浮點數(shù)(floating-point)差不多可以和數(shù)學中的實數(shù)(real number)概念相對應。實數(shù)包含了整數(shù)之間的那些數(shù)。1.75、2.16E7、3.00和4e-8都是浮點數(shù)。注意,加了小數(shù)點的數(shù)是浮點型值,所以3是整數(shù)類型,而3.00是浮點型。書寫浮點數(shù)有多種形式。2.16E7表示2.16乘以10的7次方(即1后面帶有7個0),7稱為10的指數(shù)。

這里最重要的一點是浮點數(shù)與整數(shù)的存儲方案不同。浮點數(shù)表示法將一個數(shù)分為小數(shù)部分和指數(shù)部分并分別存儲。因此盡管7.00和整數(shù)7有相同的值,但它們的存儲方式不同。與機器中的二進制存儲方式相似,在十進制中5.0可表示為0.5E1,這里的0.5是小數(shù)部分,1是指數(shù)部分。當然,計算機的內(nèi)部存儲使用二進制數(shù)字,它使用2的冪而非10的冪。

這里我們先只關注這兩種類型在應用中的區(qū)別:

①整數(shù)沒有小數(shù)部分;浮點數(shù)可以有小數(shù)部分

②浮點數(shù)可以表示比整數(shù)范圍大得多的數(shù)

③對于一些算術運算(例如兩個很大的數(shù)相減),使用浮點數(shù)會損失更多的精度

④因為在任何區(qū)間內(nèi)(比如1.0和2.0之間)都存在無窮多個實數(shù),所以計算機浮點數(shù)不能表示區(qū)域內(nèi)所有的值。浮點數(shù)往往只是實際值的近似。例如,7.0可能以浮點值6.99999存儲。

⑤浮點運算通常比整數(shù)運算慢。不過,已經(jīng)開發(fā)出了專門處理浮點運算的微處理器,它可以縮小速度上的差別。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計算機
    +關注

    關注

    19

    文章

    7494

    瀏覽量

    87961
  • 微處理器
    +關注

    關注

    11

    文章

    2263

    瀏覽量

    82457
  • C語言
    +關注

    關注

    180

    文章

    7604

    瀏覽量

    136839
  • 浮點數(shù)
    +關注

    關注

    0

    文章

    60

    瀏覽量

    15869

原文標題:C語言中位、字節(jié)和字以及整數(shù)類型與浮點數(shù)類型的比較

文章出處:【微信號:雨飛工作室,微信公眾號:雨飛工作室】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    小數(shù)在內(nèi)存中是如何存儲的?為什么C語言中浮點數(shù)不支持位移操作?

    小數(shù)在內(nèi)存中是如何存儲的?為什么C語言中浮點數(shù)不支持位移操作?
    發(fā)表于 08-16 09:24 ?1058次閱讀
    小數(shù)在內(nèi)存中是如何存儲的?為什么<b class='flag-5'>C</b><b class='flag-5'>語言中</b>的<b class='flag-5'>浮點數(shù)</b>不支持位移操作?

    跟著狄泰唐老師學C語言進階教程的筆記之浮點數(shù)的秘密

    1. 內(nèi)存中的浮點數(shù)l 浮點數(shù)在內(nèi)存的存儲方式為:符號,指數(shù),尾數(shù)l float與double 類型的數(shù)據(jù)在計算機內(nèi)部的表示法是相同的,但是由于所占用的存儲空間的不同,其分別能夠表示
    發(fā)表于 05-19 11:08

    將四字節(jié)16進制數(shù)轉(zhuǎn)化為浮點數(shù)

    0401儀表的測量值:相應表明讀取的測量值為42C3999A(浮點數(shù)為97.8)方法1:這是我之前從網(wǎng)上找到的方法,可以看到求解過程比較繁瑣。第一步:將十六進制數(shù)值轉(zhuǎn)變?yōu)檎o@示,不按照字節(jié)
    發(fā)表于 12-01 06:13

    c語言中double與float的區(qū)別 相關資料分享

    c語言中double與float的區(qū)別C語言中小數(shù)的數(shù)據(jù)類型為 float 或 double:float 稱為單精度
    發(fā)表于 07-01 09:10

    C語言怎么輸入float的變量,c語言float怎么用

    是什么意思C語言中float浮點型數(shù)據(jù)類型,F(xiàn)LOAT數(shù)據(jù)類型用于存儲單精度浮點數(shù)或雙精度
    發(fā)表于 03-29 10:36

    C語言中,如何分配浮點數(shù)的存儲方式?

    C語言中,對于浮點類型的數(shù)據(jù)采用單精度類型(float)和雙精度類型(double)來存儲,fl
    的頭像 發(fā)表于 08-28 16:32 ?8209次閱讀

    MSC-51單片機的3字節(jié)和4字節(jié)浮點數(shù)計算程序分析

    MSC-51 3字節(jié)和4字節(jié)浮點數(shù)計算程序,主要用于數(shù)據(jù)采集及上傳,經(jīng)過IEEE轉(zhuǎn)換,在上位機直接顯示。 ;這是本人使用的MSC-51 3字節(jié)和4
    發(fā)表于 11-14 16:12 ?4306次閱讀
    MSC-51單片機的3<b class='flag-5'>字節(jié)</b>和4<b class='flag-5'>字節(jié)</b><b class='flag-5'>浮點數(shù)</b>計算程序分析

    python整數(shù)浮點數(shù)分解

    2.3 python整數(shù)浮點數(shù) Python 支持的數(shù)字類型有三種:整數(shù)浮點數(shù)和復數(shù)。 1. 整數(shù)
    的頭像 發(fā)表于 02-18 09:09 ?1879次閱讀

    C語言-基本數(shù)據(jù)類型運算

    這篇文章作為基礎知識點,總結(jié)C語言的基本數(shù)據(jù)類型有哪些,浮點數(shù)的精度,整數(shù)變量的空間范圍,變量定義
    的頭像 發(fā)表于 08-14 09:56 ?1598次閱讀

    什么是浮點數(shù)

    Python數(shù)據(jù)類型第一種:字符串(str)。 Python數(shù)據(jù)類型第二種:整數(shù)(int)。 Python數(shù)據(jù)類型第三種:浮點數(shù),
    的頭像 發(fā)表于 02-23 14:58 ?4630次閱讀

    解析python整數(shù)浮點數(shù)不同進制整數(shù)

    python數(shù)字包括整數(shù)浮點數(shù)、復數(shù)、有理分數(shù)等,整數(shù)還可以用不同進制表示。
    的頭像 發(fā)表于 03-10 10:01 ?1073次閱讀

    PLC數(shù)據(jù)類型

    基本數(shù)據(jù)類型 ? ? ? 基本數(shù)據(jù)類型? ? 包括序列、整數(shù)浮點數(shù)、日期時間。(常見的)
    發(fā)表于 04-17 15:49 ?0次下載
    PLC數(shù)據(jù)<b class='flag-5'>類型</b>

    C語言里的整數(shù)數(shù)據(jù)類型

    1. 整型數(shù)據(jù)類型 C語言里面的整數(shù)數(shù)據(jù)類型 類型名稱 C
    的頭像 發(fā)表于 11-24 16:09 ?1000次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>里的<b class='flag-5'>整數(shù)數(shù)據(jù)類型</b>

    modbus浮點數(shù)怎么讀取

    Modbus是一種通信協(xié)議,常用于工業(yè)自動化系統(tǒng)中的設備之間的通信。它支持多種數(shù)據(jù)類型,包括整數(shù)、浮點數(shù)、字符串等。浮點數(shù)在工業(yè)領域中廣泛應用,因此了解如何讀取和處理Modbus
    的頭像 發(fā)表于 12-28 14:38 ?6355次閱讀

    快速掌握C語言關鍵

    C語言中的32個關鍵你知道多少個呢?根據(jù)關鍵的作用分為四類:數(shù)據(jù)類型關鍵、控制語句關鍵
    的頭像 發(fā)表于 07-06 08:04 ?351次閱讀
    快速掌握<b class='flag-5'>C</b><b class='flag-5'>語言</b>關鍵<b class='flag-5'>字</b>