我可以很容易地将十进制数转换成八进制数,但我正试图做相反的事情,我被卡住了。
let decimal = 11_224_393
let octString = String(rawAddress, radix: 8, uppercase: false)
let octal = octString.toInt()
我想要一个函数,给定一个八进制数字的整数,它将把它作为八进制读入,并将它转换成十进制
例如:
// oct2dec(777) = 511
// oct2dec(10) = 8
func oct2dec(octal : Int) -> Int {
// what goes here?
}
在我的选项中,使用字符串转换函数非常可怕。不如换成这样:
func octalToDecimal(var octal: Int) -> Int {
var decimal = 0, i = 0
while octal != 0 {
var remainder = octal % 10
octal /= 10
decimal += remainder * Int(pow(8, Double(i++)))
}
return decimal
}
var decimal = octalToDecimal(777) // decimal is 511
只需使用Swift原生八进制文字和初始值设定项(String
from integer |Int
fromString
)。
let octalInt = 0o1234 // 668
let octalString = "1234" // "1234"
let decimalIntFromOctalString = Int(octalString, radix: 0o10) // 668
let octalStringFromInt = String(octalInt, radix: 0o10) // "1234"
对于您的特定用例:
let decimal = 11_224_393
let octString = String(rawAddress, radix: 0o10, uppercase: false)
guard let octal = Int(octString, radix: 0o10) else {
print("octString was not a valid octal string:", octString)
}
如何强制GLFW管理每秒60次以上的键盘回调?也就是说,我希望GLFW的键盘处理速度取决于实际的FPS。这可能吗?
主要内容:二进制数、八进制数和十六进制数的表示,二进制数、八进制数和十六进制数的输出C语言中的整数除了可以使用十进制,还可以使用二进制、八进制和十六进制。 二进制数、八进制数和十六进制数的表示 一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用某种特殊的写法,具体来说,就是在数字前面加上特定的字符,也就是加前缀。 1) 二进制 二进制由 0 和 1 两个数字组成,使用时必须以
问题内容: 如何检查数字是否为小数? 使用Objective-C: 问题答案: 如果将数字四舍五入(可以使用下限功能来完成),然后从原始数字中减去该数字,则会得到两者之间的差。 编辑- 我的原始答案建议计算数字与其下限等值之间的差,以查看小数点后是否有任何单位。但是,如后面所述,可能存在舍入错误,这会导致内存中值的表示与实际含义略有不同。 例如,3.0可以表示为3.00000000000001,因
在这个例子中,我找到了三位数的八进制数,我使用了冗长的if条件,谁能减少if语句和赋值。注意不要使用预先定义的过程或内置的包..
主要内容:二进制,八进制,十六进制我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。 例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。 因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做 十进制(Decimalism)。十进
我正在尝试让exception_handler从事一个大型项目。但是,异常处理程序未按预期运行。关于我可能缺少什么的任何建议? 简化项目结构: 我有上述项目结构 app.py公司 我正在将此对象导入exception_handler。py,它具有处理所有应用程序相关异常的代码 但是,异常处理程序未按预期运行。如果我将exception_handler移动到app。皮,它起作用了。 参考: http
问题 你需要转换或者输出使用二进制,八进制或十六进制表示的整数。 解决方案 为了将整数转换为二进制、八进制或十六进制的文本串, 可以分别使用 bin() , oct() 或 hex() 函数: >>> x = 1234 >>> bin(x) '0b10011010010' >>> oct(x) '0o2322' >>> hex(x) '0x4d2' >>> 另外,如果你不想输出 0b , 0o 或
Python3 实例 以下代码用于实现十进制转二进制、八进制、十六进制: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 获取用户输入十进制数 dec = int(input("输入数字:")) print("十进制数为:", dec) print("转换为二进制为:", bin(dec