Python實現(xiàn):
with open('outFile', 'w') as f: # 打開文件,以寫入方式
nums = [] # 存儲輸入的10個整數(shù)
print("Please input 10 integers:")
for i in range(10):
num = int(input()) # 從鍵盤輸入一個整數(shù)
nums.append(num)
f.write(str(num) + '\\t') # 將整數(shù)以十進(jìn)制形式寫入文件
f.write(bin(num)[2:].zfill(32) + '\\n') # 將整數(shù)以二進(jìn)制形式寫入文件
注釋:bin()
函數(shù)將整數(shù)轉(zhuǎn)換為二進(jìn)制字符串,[2:]
表示去掉字符串前面的"0b",zfill(32)
表示在字符串前面填充0,使其長度為32。
C語言實現(xiàn):
#include
int main() {
int nums[10]; // 存儲輸入的10個整數(shù)
FILE *fp; // 文件指針
fp = fopen("outFile", "w"); // 打開文件,以寫入方式
if (fp == NULL) { // 判斷文件是否打開成功
printf("Failed to open file.\\n");
return 1;
}
printf("Please input 10 integers:\\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]); // 從鍵盤輸入10個整數(shù)
fprintf(fp, "%d\\t", nums[i]); // 將整數(shù)以十進(jìn)制形式寫入文件
for (int j = 31; j >= 0; j--) { // 將整數(shù)以二進(jìn)制形式寫入文件
fprintf(fp, "%d", (nums[i] > > j) & 1);
}
fprintf(fp, "\\n"); // 換行
}
fclose(fp); // 關(guān)閉文件
return 0;
}
具體解釋如下:
for (int j = 31; j >= 0; j--)
:循環(huán)從 31 開始,到 0 結(jié)束,每次遞減 1,循環(huán)變量為 j。- 這里假設(shè)該整數(shù)是用 32 位二進(jìn)制表示的,因此需要從高位到低位依次讀取并寫入文件。
(nums[i] >> j) & 1
:將當(dāng)前整數(shù) nums[i] 右移 j 位,然后和二進(jìn)制數(shù) 1 進(jìn)行按位與操作,得到該整數(shù)在 j 位上的二進(jìn)制值。- 右移操作可以將該整數(shù)的二進(jìn)制表示從右往左移動 j 位 ,使得它的二進(jìn)制值在第 j 位變成了最低位,方便進(jìn)行按位與操作。
- 按位與操作可以將該整數(shù)在第 j 位上的二進(jìn)制值提取出來,因為只有在該位上是 1 的時候才會產(chǎn)生運算結(jié)果為 1,否則結(jié)果為 0。
fprintf(fp, "%d", (nums[i] >> j) & 1)
:將當(dāng)前整數(shù)在 j 位上的二進(jìn)制值格式化為整數(shù)類型,并寫入到文件中。- 這里使用了 C 語言的 fprintf() 函數(shù),它可以格式化輸出數(shù)據(jù)并寫入到文件中。
- %d 表示將整數(shù)類型格式化為十進(jìn)制整數(shù),并將其保存在文件中
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136839 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84690 -
BIN文件
+關(guān)注
關(guān)注
0文章
26瀏覽量
8291
發(fā)布評論請先 登錄
相關(guān)推薦
十進(jìn)制和二進(jìn)制之間的轉(zhuǎn)換原理
十進(jìn)制和二進(jìn)制之間的轉(zhuǎn)換 既然一個數(shù)可以用二進(jìn)制和十進(jìn)制兩種不同形式來表示,那么兩著之間就必然
發(fā)表于 04-06 23:54
visa如何向USB中輸入二進(jìn)制
我想在字符輸入框中輸入16位二進(jìn)制如:0101 0101 1111 0000,讓后將這個字符串以二進(jìn)制
發(fā)表于 08-12 10:46
【小梅哥FPGA進(jìn)階教程】第二章 二進(jìn)制轉(zhuǎn)BCD
Decimal)也稱二進(jìn)碼十進(jìn)數(shù)或二-十進(jìn)制代碼。用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這
發(fā)表于 01-09 14:38
如何理解二進(jìn)制運算規(guī)則 二進(jìn)制是如何運算的
二進(jìn)制運算規(guī)則二進(jìn)制的運算算術(shù)運算二進(jìn)制的加法:0+0=0,0+1=1 ,1+0=1, 1+1=10(向高位進(jìn)位);二進(jìn)制的減法:0-0=0
發(fā)表于 12-11 17:49
二進(jìn)制
二進(jìn)制
二進(jìn)制與十進(jìn)制的區(qū)別在于數(shù)碼的個數(shù)和進(jìn)位規(guī)律有很大的區(qū)別,顧名思義,二進(jìn)制的計數(shù)規(guī)律為逢二進(jìn)一,是以2為基數(shù)的計數(shù)體制。
發(fā)表于 04-06 23:48
?8200次閱讀
二進(jìn)制編碼和二進(jìn)制數(shù)據(jù)
二進(jìn)制編碼和二進(jìn)制數(shù)據(jù)
二進(jìn)制編碼是計算機(jī)內(nèi)使用最多的碼制,它只使用兩個基本符號"0"和"1",并且通過由這兩個符號組成的
發(fā)表于 10-13 16:22
?4790次閱讀
二進(jìn)制電平,什么是二進(jìn)制電平
二進(jìn)制電平,什么是二進(jìn)制電平
在二進(jìn)制數(shù)字通信系統(tǒng)中,每個碼元或每個符號只能是“1”和“0”兩個狀態(tài)之一。若將每個碼元可能取的狀態(tài)增
發(fā)表于 03-17 16:51
?2359次閱讀
本的二進(jìn)制加法/減法器,本的二進(jìn)制加法/減法器原理
本的二進(jìn)制加法/減法器,本的二進(jìn)制加法/減法器原理
兩個二進(jìn)制數(shù)字Ai,Bi和一個進(jìn)位輸入
發(fā)表于 04-13 11:11
?5272次閱讀
二進(jìn)制與十進(jìn)制數(shù)對照顯示實驗,十進(jìn)制,二進(jìn)制對照
二一十進(jìn)制譯碼驅(qū)動集成電路,可以把輸入的二進(jìn)制碼轉(zhuǎn)換成十進(jìn)制數(shù)字輸出,輸出結(jié)果驅(qū)動一
KUKA給整數(shù)計數(shù)器或者二進(jìn)制輸出端賦值
用此指令可以對一個整數(shù)計數(shù)器或一個二進(jìn)制輸出端賦值,并將賦以的信號和一種條件 (布爾算子)相連接
10進(jìn)制轉(zhuǎn)換為二進(jìn)制的算法
10進(jìn)制轉(zhuǎn)換為二進(jìn)制是計算機(jī)領(lǐng)域中非常重要的一個問題。在計算機(jī)中,所有的數(shù)據(jù)都是以二進(jìn)制
二進(jìn)制處理中的一些技巧
在二進(jìn)制和十進(jìn)制的處理中,有時候一些小技巧是很有用的。
1、把十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)
(1)在MATLAB中有一
二進(jìn)制編碼器工作原理 如何選擇二進(jìn)制編碼器
二進(jìn)制編碼器是一種數(shù)字電路,它將輸入的二進(jìn)制代碼轉(zhuǎn)換為對應(yīng)的輸出信號。在數(shù)字系統(tǒng)中,編碼器用于將數(shù)據(jù)從一種
二進(jìn)制編碼器應(yīng)用場景 二進(jìn)制編碼器與模擬編碼器比較
限性。 二進(jìn)制編碼器概述 二進(jìn)制編碼器是一種將輸入信號轉(zhuǎn)換為二進(jìn)制代碼的設(shè)備。它通常用于數(shù)字系統(tǒng)中,將模擬信號或非
二進(jìn)制編碼器的種類及特點
處理多個輸入信號,并根據(jù)輸入信號的優(yōu)先級輸出一個二進(jìn)制編碼。如果多個輸入同時為高電平,它將
評論