微控制器C語言從AD得到8位二進位制數0x00 0xff想把它換算成小數顯示

2021-04-17 17:13:41 字數 860 閱讀 8096

1樓:凌瓏井

uchar n=p1; //從p1口讀到的8位二bai進位制數uchar k,l,m,temp;

temp = (duuchar)((ulong)n*1000/255);

k=temp/100%10; //整數部分zhil=temp/10%10; //十分位

m=temp%10; //百分位

顯示的dao是0.00~1.00 但其實版你可以看成 0~100 只是百位後面多權了點

2樓:做而論道

計算時,需要乘以100,8位的變數,就不夠用了。

unsigned int j;

unsigned char k, l, m, n = p1; //從p1口讀到的8位二進位制數回

n = 168; // 168 / 255 = 0.65

j = 100 * n; //0 ~ 25500,需要用16位數的答變數

k = j / 25500; //整數0~1

j = j % 25500; //餘數0~25499,需要用16位數的變數

l = j / 2550; //十分位0~9

m = (j % 2550) / 255; //百分位0~9

//k=0, l=6, m=5.

3樓:匿名使用者

uchar n=p1; //從baip1口讀到的du8位

zhi二進位制數dao

uchar k,l,m;

k=(uchar)(n%10); //整數部回分l=(uchar)(n/100%10); //十分答位m=(uchar)(n/100); //百分位

c語言將十進位制轉化為二進位制,c語言程式設計,如何將十進位制轉化為2進位制

十進位制轉二進位制可以使用庫函式itoa。itoa函式原型 char itoa int value,char string,int radix 功能 將任意型別的數字轉換為字串。在中與之有相反功能的函式是atoi。nt value 被轉換的整數,char string 轉換後儲存的字元陣列,int ...

c語言十進位制數轉化為二進位制數,C語言 十進位制數轉化為二進位制數

思路 十進位制整數轉換為二進位制整數採用 除2取餘,逆序排列 法。即用2整除十進位制整數,可以得到一個商和餘數 再用2去除商,又會得到一個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。include stdi...

求將十進位制IP轉換成二進位制的C語言演算法

include include main bin str 33 scanf s ip str ip i1 24 i2 16 i3 8 i4 實在不行,這裡可以在每個移位前強制轉換成long型 for i 31 i 0 i sprintf bin str,s d bin str,ip 1 i prin...