Binary ↔ Decimal

 

 

자바

package temp;

import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;

import org.junit.jupiter.api.Test;

public class ConvertDecimalAndBinaryTest {

  @Test
  public void testConvertDecimalToBinary() {
    int decimal = 21;
    String binary = Integer.toBinaryString(decimal);
    System.out.println(String.format("Decimal: %d -> Binary: %s", decimal, binary));
    assertThat(binary, is("10101"));
  }

  @Test
  public void testConvertBinaryToDecimal() {
    String binary = "1011010";
    int decimal = Integer.parseInt(binary, 2);
    System.out.println(String.format("Binary: %s -> Decimal: %s", binary, decimal));
    assertThat(decimal, is(90));
  }
}
  • Binary To Decimal: Integer.toBinaryString(int n) 메소드 사용
  • Decimal To Bianry: Integer.parseInt(String s, int radix) 메소드에 radix = 2를 넣고 사용 

 

 

 

 

 

 

파이썬은?

from unittest import TestCase


class TestConvertDecimalAndBinary(TestCase):
    def test_convert_decimal_to_binary(self):
        decimal = 74
        binary_including_0b = bin(decimal)
        binary_excluding_0b = bin(decimal)[2:]
        print(f"Decimal: {decimal} -> Binary(including 0b): {binary_including_0b}")
        print(f"Decimal: {decimal} -> Binary(excluding 0b): {binary_excluding_0b}")
        self.assertEqual(binary_including_0b, "0b1001010")
        self.assertEqual(binary_excluding_0b, "1001010")

    def test_convert_binary_to_decimal(self):
        binary = "10111110"
        decimal = int(binary, 2)
        print(f"Binary: {binary} -> Decimal: {decimal}")
        self.assertEqual(decimal, 190)
  • Binary To Decimal: int(binary, 2)
  • Decimal To Binary: bin(decimal)
    • "0b"를 빼고 싶을 때: bin(decimal)[2:] 

 

'Python' 카테고리의 다른 글

[Python] Fraction  (0) 2022.01.03
[Python] Empty String Check  (0) 2022.01.03

Fraction(a, b) → a / b가 나오는 마법

간단한 예시

fraction = Fraction(16, -10)
print(f"numerator: {fraction.numerator}")
print(f"denominator: {fraction.denominator}")

 

 

 

생성자

  • Fraction(numerator=0, denominator=1): 분자와 분모를 받아서 "분자 / 분모" 형태로 나타내는 Fraction 객체 생성, 분모가 0인경우에는 ZeroDivisionError 발생 
  • Fraction(other_fraction): 다른 Fraction 객체를 이용하여 Fraction 객체 생성
  • Fraction(float): 소수 형태(x.xxx)를 "분자 / 분모" 형태로 나타내는 Fraction 객체 생성
  • Fraction(decimal): 정수 형태(1,2 등..)를 "분자 / 1" 형태로 나타내는 Fraction 객체 생성
  • Fraction(string): 문자열 형태를 "분자 / 분모" 형태로 나타내는 Fraction 객체 생성

 

다양한 예시

Fraction(16, -10) # Fraction(-8, 5)
Fraction(123) # Fraction(123, 1)
Fraction() # Fraction(0, 1)
Fraction("3/7") # Fraction(3, 7)
Fraction("-3/7") # Fraction(-3, 7)
Fraction('1.414213 \t\n') # Fraction(1414213, 1000000)
Fraction('-.125') # Fraction(-1, 8)
Fraction('7e-6') # Fraction(7, 1000000)
Fraction(2.25) # Fraction(9, 4)
Fraction(1.1) # Fraction(2476979795053773, 2251799813685248)

 

참고

https://docs.python.org/3/library/fractions.html

'Python' 카테고리의 다른 글

[Python] Binary To Decimal, Decimal To Binary  (0) 2022.01.21
[Python] Empty String Check  (0) 2022.01.03

Empty String Check (빈 문자열 확인)

1. 자바

자바에서는 isEmpty() 메소드를 사용했다.

String name = "LeeJinHo";
if (name.isEmpty()) {
  System.out.println("이름이 없습니다!");
} else {
  System.out.println(String.format("이름은 %s입니다.", name));
}

2. 파이썬

파이썬에서는 그냥 not을 사용한다.

name = ""
if not name:
  print("이름이 없습니다")
else:
  print(f"이름은 {name}")

'Python' 카테고리의 다른 글

[Python] Binary To Decimal, Decimal To Binary  (0) 2022.01.21
[Python] Fraction  (0) 2022.01.03

+ Recent posts