Scala语言学习-02-实现十进制转换为二进制(Int类型数据)
生活随笔
收集整理的這篇文章主要介紹了
Scala语言学习-02-实现十进制转换为二进制(Int类型数据)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、測(cè)試環(huán)境
| 操作系統(tǒng) | Red Hat Enterprise Linux Server release 7.9 (Maipo) |
| CPU | 12th Gen Intel? Core? i7-12700H |
| 內(nèi)存 | 5G |
| JDK | 1.8.0_171 |
| Scala | 3.1.2 |
二、功能實(shí)現(xiàn)
Int類型數(shù)據(jù)由十進(jìn)制轉(zhuǎn)換為二進(jìn)制。
三、源碼
object Decimal2Binary {def PrintDecimalSystemArray(TempArray: Array[Int], TempArraySize : Int): Unit = {var i: Int = 0val SpaceNum = 4for(i <- 0 until TempArraySize){printf("%d",TempArray(i))if((i+1) % SpaceNum == 0) {printf(" ")}}printf("\n")}def DecimalSystem2Binary(DecimalNum: Int): Unit = {val ArraySize: Int = 32var TempNum: Int = DecimalNumvar RemainderArray: Array[Int] = new Array[Int](ArraySize)val SystemNum = 2var i: Int = 0var Flag: Int = 1 // 1 : + , -1 : -for(i <- 0 until ArraySize){if(i == 0 && DecimalNum < 0){RemainderArray(i) = 1Flag = -1}else {RemainderArray(i) = 0}}//PrintDecimalSystemArray(RemainderArray, ArraySize)i = ArraySize - 1while(TempNum != 0){RemainderArray(i) = (TempNum % SystemNum).absprintf("%4d / %d = ",TempNum,SystemNum)TempNum = TempNum / SystemNumprintf("%4d --- %2d\n",TempNum,RemainderArray(i) * Flag)i -= 1}PrintDecimalSystemArray(RemainderArray, ArraySize)}def main(args: Array[String]): Unit = {DecimalSystem2Binary(-126)DecimalSystem2Binary(130)} }四、編譯
[root@node0 src]# scalac Decimal2Binary.scala -d ../test/五、測(cè)試結(jié)果
[root@node0 test]# scala Decimal2Binary -126 / 2 = -63 --- 0-63 / 2 = -31 --- -1-31 / 2 = -15 --- -1-15 / 2 = -7 --- -1-7 / 2 = -3 --- -1-3 / 2 = -1 --- -1-1 / 2 = 0 --- -1 1000 0000 0000 0000 0000 0000 0111 1110 130 / 2 = 65 --- 065 / 2 = 32 --- 132 / 2 = 16 --- 016 / 2 = 8 --- 08 / 2 = 4 --- 04 / 2 = 2 --- 02 / 2 = 1 --- 01 / 2 = 0 --- 1 0000 0000 0000 0000 0000 0000 1000 0010總結(jié)
以上是生活随笔為你收集整理的Scala语言学习-02-实现十进制转换为二进制(Int类型数据)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2022-02-11 Android 弹
- 下一篇: PNAS:人类头皮记录电位的时间尺度