假設有一串數字 20,15,6,89,37 我想把他們全部轉換成0-1之間的值 請問要怎麼計算?
回答 (2)
計算機二進制演算法 就是把數字換算成01之間的數 公式如下:
十進位整數轉換為二進位整數
十進位整數轉換為二進位整數採用"除2取餘,逆序排列"法。具體做法是:用2整除十進位整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位數字的低位有效位,後得到的餘數作為二進位數字的高位有效位元,依次排列起來。
十進位整數轉二進位
如:255=(11111111)
255/2=127=====餘1
127/2=63======餘1
63/2=31=======餘1
31/2=15=======餘1
15/2=7========餘1
7/2=3=========餘1
3/2=1=========餘1
1/2=0=========餘1
789=1100010101
789/2=394 餘1 第10位
394/2=197 餘0 第9位
197/2=98 餘1 第8位
98/2=49 餘0 第7位
49/2=24 餘1 第6位
24/2=12 餘0 第5位
12/2=6 餘0 第4位
6/2=3 餘0 第3位
3/2=1 餘1 第2位
1/2得0 餘1 第1位
先將這一串數字由小排到大
6,15,20,37,89
然後,最大值減最小值,作為分母
89-6=83
最後,把6對應到0
把89對應到1
中間的數都除以83,會得到0~1之間的值
這樣就完成了
0
15/83
20/83
37/83
1
收錄日期: 2021-04-18 14:47:38
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20160421234746AAoyDCs
檢視 Wayback Machine 備份