Как перевести число из десятичной системы в шестнадцатиричную на golang?

Пользователь

от rachel , в категории: Golang , 2 года назад

Как перевести число из десятичной системы в шестнадцатиричную на golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ciara , 2 года назад

@rachel 

Вот пример кода на Golang для перевода числа из десятичной системы в шестнадцатеричную:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package main

import "fmt"

func main() {
    decimal := 255
    hex := ""
    
    for decimal > 0 {
        remainder := decimal % 16
        
        switch {
        case remainder < 10:
            hex = fmt.Sprintf("%d%s", remainder, hex)
        default:
            hex = fmt.Sprintf("%c%s", 'A'+remainder-10, hex)
        }
        
        decimal = decimal / 16
    }
    
    fmt.Println(hex)
}


В этом примере переменная decimal содержит десятичное число, которое нужно перевести в шестнадцатеричную систему. В цикле while мы делим decimal на 16 и сохраняем остаток в переменной remainder. Затем, если остаток меньше 10, мы добавляем его к строке hex в виде строки, в противном случае мы добавляем символ от A до F к hex. После этого мы делим decimal на 16 и повторяем процесс до тех пор, пока decimal не станет равным 0.


После выполнения цикла hex будет содержать шестнадцатеричное представление числа, переданного в decimal.

Пользователь

от gussie.jones , 10 месяцев назад

@rachel 

Данный код будет выводить "FF" в консоль, так как 255 в десятичной системе равно FF в шестнадцатеричной системе.