C語言中float類型123.125在內存中存的是什麼,計算機內部是0和1

2020-12-06 萬年長長青

C語言中float類型的123.125在內存中是怎樣存儲的,它是怎樣的一個二進位序列呢?

下面就一起探討一下:

一、運行輸出看結果

編寫C語言程序如下:

輸出:

第一行輸出就是按照%f輸出浮點型;

第二行輸出,是將f變量的地址強制轉換成int類型的指針,再取值。123.125保存在float類型裡,保存的是42f64000,這是十六進位。

為什麼會是這個值呢?

二、分析為什麼123.125保存在float類型裡,保存的是42f64000(十六進位)

C語言float類型,是按照IEEE754標準格式進行存儲的,是32位的。

計算過程如下:

相關焦點

  • C語言中的整數-1在內存中是什麼,計算機只有0和1
    有如下C語言程序:執行後輸出:問題是:計算機中保存的是0和1,不能保存負號,那麼整數-1又是由怎樣的0和1的組合構成的呢?不妨,我們再添加一行程序,如下:輸出結果是:說明整數-1在內存中保存的是若干個二進位1,a=-1=0xffffffff=二進位的32個1。
  • 詳解C語言數據類型:float與double
    這種論點提升到底是什麼?當較小尺寸的參數(特別是char,short和float)傳遞給可變參數函數(如printf之類的函數,其參數數量不固定)時,它們將轉換為較大尺寸。Char和short轉換為int,float轉換為double。為什麼這樣 據我所知,純粹出於歷史原因。
  • 浮點數在計算機中是如何表示的
    來源:編程珠璣前言相比int等整型,float等浮點類型的表示和存儲較為複雜,但它又是一個無法迴避的話題,那麼就有必要對浮點一探究竟了。在計算機中,一般用IEEE浮點近似表示任意一個實數,那麼它實際上又是如何表示的呢?下面的表達式裡,i的值是多少,為什麼?如果你不確定答案,那麼你應該好好看看本文。
  • 嵌入式C中的結構是什麼?
    然後將檢查C語言語法以聲明結構。最後將簡要介紹數據對齊要求。可以通過簡單地重新排列其成員的順序來減小結構的大小。結構可以將在邏輯上彼此相關的同一類型的多個變量分組為數組。使用一個組而不是一組自變量,可以更方便地安排和使用數據。
  • 面試官:Java 中有幾種基本數據類型是什麼?
    認識基本數據類型在學習基本數據類型之前,我們先認識一下這兩個單詞:1、bit --位:位是計算機中存儲數據的最小單位,指二進位數中的一個位數,其值為「0」或「1」。2、byte --字節:字節是計算機存儲容量的基本單位,一個字節由8位二進位數組成。
  • Go語言的學習筆記(第二章)
    Go語言中標識符由字母數字和_(下劃線)組成,並且只能以字母和_開頭。舉幾個例子:abc, _, _123, a123。,但是如果我們直接在代碼中通過內存地址去操作變量的話,代碼的可讀性會非常差而且還容易出錯,所以我們就利用變量將這個數據的內存地址保存起來,以後直接通過這個變量就能找到內存上對應的數據了。
  • golang學習快速筆記(1)類型_騰訊新聞
    如果提供初始化值,可省略變量類型,由 編譯器 動推斷。 var x in tvar f float32 = 1.6 var s = "abc" 在函數內部,可 更簡略的 ":=" 式定義變量。
  • 單片機的C語言中數組的用法
    數組是由具有相同類型的數據元素組成的有序集合。數組是由數組名來表示的,數組中的數據由特定的下標來唯一確定。引入數組的目的,是使用一塊連續的內存空間存儲多個類型相同的數據,以解決一批相關數據的存儲問題。數組與普通變量一樣,也必須先定義,後使用。數組在C51語言的地位舉足輕重,因此深入地了解數組是很有必要的。
  • C語言中的char類型也有signed和unsigned?字符也有正負之分嗎?
    C語言中的 unsigned int 和 signed int 類型的區別,相信即使是初學者也是清楚的,無非就是最高位是否用來做符號位而已。但是最近有讀者問我,為什麼 char 類型也要區分 unsigned char 和 signed char 型呢?
  • C語言中signed char類型,能表示-128到127,為什麼負數多一位?
    初學者在學習C語言,談到不同數據類型時,一般都能理解 unsigned 和 signed 的區別,無非就是有無符號而已。但是對於 signed 數據類型的數據範圍,初學者卻常常會感到迷惑。負數部分總是比整數部分多出一個數?
  • 「C語言從入門到入土」必備C語言基礎筆記整理
    一、C語言1、什麼是C語言?C語言是人寫機器看的一種語言。C語言是高級語言中的低級語言。C語言貼近硬體。C語言的入門學習比較簡單。彙編語言——>B語言——>C語言2、C語言的特性首先C語言就是你的女朋友。無論你讓它幹什麼,它絕對不會自己找到方法。
  • 2003年10月甘肅省高等教育自學考試C語言程序設計試卷
    執行下列語句中,sum變量的值是 ()  int sum=0  for(int i=0;i<10;i++,sum+=i);  A45B55C0D編譯錯誤  6.已知有共用體變量data1定義如下:  union data  { int i;  char ch;  float f;
  • 51單片機基礎剖析(基於C語言)
    2.函數的參數和局部變量的存儲模式 C51 編譯器允許採用三種存儲器模式:SMALL,COMPACT 和LARGE。一個函數的存儲器模式確定了函數的參數的局部變量在內存中的地址空間。處於SMALL模式下的函數參數和局部變量位於8051單片機內部RAM中,處於COMPACT和LARGE模式下的函數參數和局部變量則使用單片機外部RAM。
  • 自考「C語言程序設計」模擬試題十一
    一、單項選擇題(共30分,每題1分)  1.在PC機中,『\n』在內存佔用的字節數是(  )  A.1   B.2   C. 3   D.4  2.字符串「ABC」在內存佔用的字節數是(   )  A.3   B.  4
  • 快速上手系列-C語言之基礎篇(一)
    按照之前的計劃,這篇文章本該寫C語言簡介,包括一些歷史背景,發展狀況, 語言特點什麼的,這些東西著實比較囉嗦。另外,相對於其他高級語言,比如C++、java、C#等來說,C語言編寫的代碼運行效率要高。在介紹C語言的數據類型和基本語法之前,先說說C程序結構和C文件結構。
  • 2013年4月成人自考計算機基礎與程序設計真題
    1.若用八位二進位表示一個整數,則- 4在計算機中的表示是( ) A.11111100 B.11111011 C.10000100 D.00000100 2.不正確的是( ) A.若函數沒有參數,則函數名後的圓括號可省略 B.函數中的形參類型必須說明 C.函數中的形參可以有,也可以沒有 D.調用函數時,實參類型與形參類型應該一致 16.若有定義inta[10],*p;要使指針變量p指向數組a,下面寫法正確的是( ) A.p= &
  • C語言程序設計試題與答案B卷
    每小題1分,共20分)1、一個C語言程序是由( )。>2、設x和y均為整型變量,且x=3,y=2,則1.0*x/y表達式的值為____________________3、已有定義:float x=5.5;則表達式:x=(int)x+2的值為___________________4、C語言標識符的第一個字符必須為下劃線或者______________.
  • C語言基礎知識學習(一)
    c) 用戶標識符根據需要定義的標識符。一般用來給變量、函數、數組、文件等命名。用戶標誌符如果與C語言的關鍵字重名,系統報錯;若與標準庫函數重名,系統不報錯,但預定義標識符將會失去原意,代之以用戶新定義的含義。顯然如果後面用到這個函數將會報錯。
  • 計算機二級考試C語言高頻考點
    一,C語言概述C語言基礎知識1.C語言的構成(1)源程序由函數構成,每個函數完成相對獨立的功能(2)每個源程序中必須有且只能有一個主函數可以放在任何位置【考點2】常量、變量和數據類型1.標識符(1)標識符的命名規則只能由字母、數字或下劃線組成第一個字符必須是字母或下劃線,不能是數字區分字母的大小寫。
  • C語言相關文件的基本知識
    用過計算機的人,對文件都不陌生,大多數人都接觸過,今天我們來講講關於C語言相關文件的基本知識。首先,我們先來了解了解什麼是文件。文件有不同的類型,在程序的設計中,主要有兩種文件; 1.程序文件;包括源程序文件(後綴為.c),目標文件(後綴為.obj),可執行文件(後綴為.exe)等,這類文件的內容是程序代碼。