[問題] 八進位 二進位的一些問題

看板C_and_CPP (C/C++)作者 (灰狼)時間15年前 (2010/12/11 16:58), 編輯推噓3(3021)
留言24則, 8人參與, 最新討論串1/1
想請問一下 今天假如有一筆10進位的數字 已經被我存在G[]裡面 大約可能像G= {101,151} 這樣 但是他實際上應該是8進位 有甚麼指令可以讓他轉成二進位的數字嗎?? 變成我可以利用的 G = {101,151} 因為小弟需要做二元的運算比較 可能需要一個一個bit比對 另外想請問 像這樣我有辦法知道G[0]的長度嗎 像是這邊 G[0]是 101 長度是3這樣 這樣我才知道要做幾次我下面要用的判斷 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.8.91 ※ 編輯: grayyoung 來自: 123.195.8.91 (12/11 17:00) ※ 編輯: grayyoung 來自: 123.195.8.91 (12/11 17:10)

12/11 17:30, , 1F
看不懂, 你的意思是你輸入的 101 實際上是想表達 0x101?
12/11 17:30, 1F

12/11 17:35, , 2F
資料的儲存格式與資料的顯示方式可以分開來看.
12/11 17:35, 2F

12/11 17:35, , 3F
資料的長度可以用sizeof(變數)來得知幾個byte(s).
12/11 17:35, 3F

12/11 17:45, , 4F
對對 就是我的輸入型態是錯的 = =
12/11 17:45, 4F

12/11 17:45, , 5F
因為我是用ssstream切的 照理說他是八進位
12/11 17:45, 5F

12/11 17:48, , 6F
簡單來問我是想問 有沒有辦法把 a=101 改成 a = 5
12/11 17:48, 6F

12/11 17:48, , 7F
還是要用10進位轉八進位來算
12/11 17:48, 7F

12/11 18:06, , 8F
好像小學時算1公斤=0.6台斤的問題XD
12/11 18:06, 8F

12/11 18:06, , 9F
值就是值 沒有格式問題 進位只是你的"看法" 與值無關
12/11 18:06, 9F

12/11 18:06, , 10F
若是你要做轉換 請先將"字串"轉為"值"
12/11 18:06, 10F

12/11 18:07, , 11F
8進位的10 = 0.8個10進位的10
12/11 18:07, 11F

12/11 18:57, , 12F
http://codepad.org/50oaPvqo 隨手寫的, 重點是最後迴圈
12/11 18:57, 12F

12/11 19:15, , 13F
sto大 應該是說 這值是錯的 這樣應該可以理解吧 = ="
12/11 19:15, 13F

12/11 19:17, , 14F
ur大我知道了 看來還是要用這種方式 謝謝!
12/11 19:17, 14F

12/11 19:18, , 15F
我原本的問題講清楚應該是 我讀一個文件
12/11 19:18, 15F

12/11 19:18, , 16F
然後裡面的101應該是八進位 就是十進位的5
12/11 19:18, 16F

12/11 19:18, , 17F
但是我讀進來 會變成十進位的101 是這樣 所以說型態問題
12/11 19:18, 17F

12/11 19:25, , 18F
從檔案讀進來只會是字串,只是你「用了」字串轉十進位。
12/11 19:25, 18F

12/11 19:31, , 19F
對對 因為我把它切起來丟進 G[] 然後G是int
12/11 19:31, 19F

12/11 20:59, , 20F
八進位 101 是十進位 65 吧, 二進位 101 才是 5...
12/11 20:59, 20F

12/11 22:14, , 21F
對 我一下算錯了...Orz
12/11 22:14, 21F

12/12 02:05, , 22F
#include "stdlib" _itoa(G[i], result, 8)
12/12 02:05, 22F

12/12 02:08, , 23F
函式庫有的就不用費心寫了吧
12/12 02:08, 23F

12/12 16:49, , 24F
有關資料儲存和人實際看到的問題精華區不知道有沒有。
12/12 16:49, 24F
文章代碼(AID): #1D0pqTJw (C_and_CPP)
文章代碼(AID): #1D0pqTJw (C_and_CPP)