Swift程序将十进制转换为八进制
本教程将讨论如何编写 Swift 程序将十进制转换为八进制。
十进制数是指基值为 10 的数字。十进制数也称为以 10 为基数的数字系统,包含 10 个数字:0、1、2、3、4、5、6、7、8、9。在这里,十进制数中每个数字的位置权重都是 10 的幂。
八进制数是指基值为 8 的数字。八进制数也称为以 8 为基数的数字系统,包含 8 个数字:0、1、2、3、4、5、6、7。在这里,八进制数中每个数字的位置权重都是 8 的幂。
现在,我们使用以下任何一种方法将十进制数(基数-10)转换为八进制数系统(基数-8)。
以下是相同内容的演示 -
输入
假设我们给定的输入是 -
Decimal number = 10
输出
期望的输出将是 -
Octal number = 12
方法 1:使用除法方法将十进制转换为八进制
要将十进制转换为八进制,我们将数字除以 8 并将余数存储在一个变量中,直到数字等于 0。
算法
以下是算法 -
步骤 1 - 使用十进制数初始化一个变量。
步骤 2 - 初始化 octalNumber = 0 和 count = 1
步骤 3 - 找到十进制数除以 8 时的余数。
步骤 4 - 更新八进制数的值
octalNumber += rem * count
步骤 5 - 现在递增 count 的值
count = count * 10
步骤 6 - 将给定的十进制数除以 8
number /= 8
步骤 7 - 重复上述步骤,直到数字的值变为 0。
步骤 8 - 打印输出。
示例
以下程序展示了如何将十进制转换为八进制。
import Foundation
import Glibc
// Decimal number
var number = 29
var octalNumber = 0
var count = 1
print("Decimal Number:", number)
// Checking if the given number is not zero
while(number != 0) {
// Calculating remainder
let rem = number % 8
// Storing octal number
octalNumber += rem * count
// Storing exponential value
count = count * 10
// Dividing the number by 8
number /= 8
}
print("Resultant Octal Number:", octalNumber)
输出
Decimal Number: 29 Resultant Octal Number: 35
在上面的代码中,我们使用以下代码将十进制数转换为八进制数 -
while(number != 0) {
let rem = number % 8
octalNumber += rem * count
count = count * 10
number /= 8
}
因此,上面代码的工作原理是 -
Initially, Number = 29
octalNumber = 0
count = 1
1st iteration:
while(29 != 0) // condition is true {
let rem = number % 8 = 29 % 8 = 5
octalNumber += rem * count = 0 + 5 * 1 = 5
count = count * 10 = 1 * 10 = 10
number /= 8 = 29/8 = 3
}
2st iteration:
while(3 != 0) // condition is true {
let rem = number % 8 = 3 % 8 = 3
octalNumber += rem * count = 5 + 3 * 10 = 35
count = count * 10 = 10 * 10 = 100
number /= 8 = 3/8 = 0
}
3rd iteration:
while(0 != 0) // condition is false {
}
// Exit from the loop and print 35.
方法 2 使用 String(_:radix:) 将十进制转换为八进制数系统。
我们还可以使用 String(_:radix:) 将十进制转换为八进制数系统。此方法根据给定的字符串和基数创建一个新值。
语法
以下是语法 -
String(value, radix: base)
这里,value 是数字的 ASCII 表示形式。而 radix 用于将文本转换为整数。radix 的默认值为 10,其值范围为 2…36。
示例
以下程序展示了如何将十进制转换为八进制。
import Foundation
import Glibc
// Decimal number
var number = 18
print("Decimal Number:", number)
// Finding octal number
if let octalNumber = Int(String(number, radix: 8)){
print("Octal Number:", octalNumber)
}
输出
Decimal Number: 18 Octal Number: 22
这里,我们使用以下代码将十进制数 18 转换为八进制数 -
if let octalNumber = Int(String(number, radix: 8)){
print("Octal Number:", octalNumber)
}
其中 String(number, radix: 8) 将给定的十进制数转换为八进制数字符串,然后使用 Int() 将字符串转换为整数。因此,结果八进制数为 22。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP