# Double

[Java] 실수 자료형
실수 자료형 자바에서 primitive type의 실수 자료형이라면 float와 double이 있습니다. float는 4Byte double은 8Byte로 표현된다고 하는데요, 0과 1이 32개, 64개로 어떻게 실수를 표현이 가능한지 한번 정리해보려 합니다. 컴퓨터가 실수를 어떻게 저장하는지 이해하려면 2진수를 가지고 어떻게 실수를 표현하는지에 대해 먼저 이해해야합니다. 우선 3을 2진수로 표현하게 된다면 $$2^1 + 2^0 = 3$$ 이므로 $$11$$로 표현이 가능합니다. 이렇게 2진수를 정수로 표현할 때는 1, 2, 4, 8 등의 합으로 표현했던 것처럼 실수부분을 표현할 때는 0.5, 0.25, 0.125 와 같은 $\frac{1}{2}$, $\frac{1}{4}$, $\frac{1}{8}$ 의 합으로 표현합니다. 이와같이 3.75의 경우는 이진수로 표현하면 11.11 과같이 표현이
[자바] Math.ceil 레슨런
직면했던 문제 Math.ceil()을 사용하여 값을 올림하려고 했는데 계산값이 내가 생각한대로 나오지 않았다. 원인 Math.ceil() 그리고 floor()도 마찬가지로 괄호 안의 값의 피연산자들의 자료형에 따라 값이 달라진다. 예를 들어, Math.ceil(5/4) Math.ceil(5.0/4.0) 위 두가지의 결과를 예측해보자. 많은 사람들이 두 차이를 모를 것이라고 생각한다. 이를 실제로 찍어보면 위는 1, 아래는 2를 보여준다. 애초에 Math.ceil과 floor은 double 을 인수로 받기 때문에 정확하게 동작시키기 위해서는 자료형을 맞춰주어야 한다.
게임개발 C#-3 (실수형)
a(float) 의 출력 결과 : 3.5232346 b(double)의 출력 결과 : 3.5232345235234233 c(decimal)의 출력 결과 : 3.52323452352342342344234 float 와 double는 부동소수점이여서 특정한 식에 의하여 최대한의 근사치값을 표현하기 때문에 다른 결과가 나올 수 있음 -> 연산에 민감한 돈 혹은 소수점에 민감한 숫자를 연산할 경우 결과가 정확하지 않음 -> float 에서 f를 붙이지 않을 경우 double로 인식함(Casting의 문제가 발생할 가능성이 있음) decimal은 고정소수점이여서 정확한 계산이 필요할 경우 사용하라고 MSDN에서도 권고하고 있으나 가장 느린형식임 -> 내결함성 허용등 성능과 정확성중에서 어느 부분을 초점을 맞추어 사용할 건지 검토해야함
[Java] Switch문
위의 코드에서 주목해야 할 점이 두 가지가 있다. 평균을 낼 때 total(int형)을 3.0(double형)으로 나누면 큰 타입(double형)으로 연산된다. 즉 결과는 평균 : 26.66이 나온다. 에서 break문이 없으므로 로 넘어간다. 정보처리기사 문제에서도 가끔 나온 문제 유형이니 숙지하는 것이 좋겠다. Java 16 버전에서는 로도 작성 가능하다.

function()() 함수 실행 괄호 두 개
double parentheses 명칭은 정확히 몰라서 double parentheses라고 기억하련다. 함수를 실행하는데 괄호가 두 개 붙어 있다. 함수가 실행되면 받은 인자로 바로 또 다른 함수를 반환하는 함수가 있다. 처음 맞닥뜨렸을 땐 생긴 것도 맘에 안 들었고 사용하는 이유도 납득이 안 됐는데 > 클로저를 위함이었다고 한다. 인자의 할당은 이런식으로 동작한다.

JAVA 시작하기 - 자료형의 종류 (실수)
실수 자료형 컴퓨터가 표현하는 실수는 정수와는 조금 다른 방식으로 표현한다. 부동 소수점 방식 실수는 정수와 표현 방식이 다르며, 지수와 가수를 구분해서 표현하는 방식이 부동 소수점 방식이다. 이 방식은 더 많은 실수를 좀 더 세밀하게 표현 할 수 있다. float형과 double형 실수 자료형에는 float형과 double형이 있다. float형 - 부호 1비트, 지수부 8비트, 가수부 23비트로 총 32비트(4바이트)를 한다. double형 - 부호 1비트, 지수부 11비트, 가수부 52비트로 총 64비트(8바이트)를 사용하여 좀 더 정밀한 실수를 표현한다. 자바에서 실수는 double형을 기본으로 사용한다. 부동 소수점 방식의 오류 지수와 기수로 나타내는 부동 소수점 방식은 지수로 표현되는 값이 0을 나타낼 수 없다. 따라서 부동 소수점 값을 연산하면 약간의 오차가 발생할 수 있다.

실수의 표현과 부동소수점
수학에서의 실수는 유리수와 무리수를 통틀어 일컫지만, 컴퓨터, 프로그래밍에서의 실수는 보통 정수를 제외한 수를 가리킨다. JAVA에서는 실수를 float, double 두 가지의 비트로 제공한다. 이진법을 사용하는 컴퓨터에서는 정수에서의 가장 작은 단위인 1과 초깃값 0이 제공되므로 덧셈과 뺄셈으로 모든 정수를 정의할 수 있다. 하지만 실수는 1을 2로 계속 나눌 때마다 발생하는 소수들의 조합으로밖에 표현할 수 없다는 한계점을 지니고 있다. 따라서 컴퓨터 상에서 실수는 완벽하게 표현할 수 없고 최대한 근삿값에 가깝게 표현하려는 한계에 그칠 수밖에 없다. 우선 컴퓨터에서의 실수의 표현에 대해 알아보자. > ### 실수의 표현 방식 23.628125의 이진수를 예시로 들어보자. [정수부] 정수부의 2진수 변환은 간단하다. 정수를 2진수로 변환하면 끝이다. 정수부를 2로 나눈 나머지가 0이면 끝에서부터 0을 붙이고, 나머지가 1이면 1을 붙인 후 1을 빼주는 형식으로 풀어내
2023.04.13
Problem 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려고 한다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수 구축. 문제 바로가기 일단 한국 용어가 익숙하지 않은 나에게는 문제 자체가 어려웠다 (영문번역기 돌린건 안비밀)... What I tried 나의 전략은 아래와 같았다: > 1. n이 들어오면 제곱인지 파악 만약 제곱이면 x + 1하여 제곱 / 만약 제곱이 아니면 -1 Math.sqrt()를 사용하여 root인지 확인 - if문 사용 root이면 multiply number by itself What was Wrong? 아래와 같이 코드를 작성하였다. 코드를 작성한 뒤 if문의 조건을 어떻게 작성해야할
[JS] 표준 라이브러리 숫자, 문자열 관련 메소드 모음

Data Types - Dart
Data Types Basic Data Types String bool int double num int, double 의 부모 클래스 List 에디터에서 리스트 마지막에 콤마를 찍으면 자동 포매팅 Collection if String Interpolation $ 뒤 변수 작성 계산시 ${} 로 작성 Collection for[] Maps Sets 중복 X 유일한 값

1. 변수 - (1) 자료형
java를 비롯한 모든 프로그램 언어에서 가장 중요한 개념이'변수(variable)'라고 생각합니다. 변수는 단어 그대로 '변하는 수'라는 뜻을 내포하고 있습니다. 변하는 수라는 개념이 너무 추상적이시라면 변수라는 공간에 물건을 넣어준다면 기존의 물건이 새로운 물건으로 변경된다고 생각하시면 좋을 것 같습니다. (상자에 축구공이 들어있는데 농구공을 집어넣었더니 축구공은 사라지고 농구공만 남게 되는것이죠.) 그런데 여기서 축구공이든 농구공이든 넣을 수 있는 공간이 먼저 필요하다는 사실을 눈치채셨을 겁니다. 이러한 공간

Java 실수형 변수
타입 소수를 포함한 숫자를 표현할 수 있다. 이 소수라는 숫자는 매우 짜증나는 친구이다. 이놈을 명확히 표현할 방법이 없기에 부동소숫점이라는 것을 사용한다. 때문에 이 소수는 결국 오차가 발생할수밖에 없다. | 자료형 | 기본값 | 자료크기 | 범위 | | --- | --- | --- | --- | | float | 0.0f | 4byte |1.4E-45 ~ 3.4028235E38 | | double | 0.0d | 8byte |4.9E-324 ~ 1.7976931348623157E308 | float 타입 실수를 표현하는 타입중 하나이다. Java에서 소수의 기본타입이 double이기 때문에 선언시 f를 붙여 선언해야 한다. >java float var1 = 0.0f; for(int i = 0; i < 100; i++){ var1 += 0.1f; } System.out.println(var1); //10.000002 위 예시를 보면 0.1을 100번 더
Int형이 아닌 변수의 나머지 계산
우리가 흔히 사용하는 %는 연산하려는 두 수가 모두 Int일 경우에만 사용 가능하다. Double 혹은 Float형은 어떻게 사용해야할까? truncatinRemainder 위 방식처럼 사용한다. 참고 자료 Developer Documentation)

[Java] 오버플로우, 언더플로우
✍ 자바에서의 변수 자료형(Data Type) 1. Overflow와 Underflow 사전적 정의 > * Overflow (오버플로우) : 메모리의 표현 범위에서 벗어난 수의 값을 저장하는 경우 Underflow (언더플로우) : 메모리가 표현할 수 있는 수보다 적은 수의 값을 저장하는 경우 Java에서는 변수의 Type을 꼭 지정해 주어야 합니다. 자동으로 변수 타입을 지정하는 Python 과는 차이가 있죠. Python은 대표적인 '동적언어'로 런타임 시 자동으로 변수의 타입이 지정됩니다. 그렇기 때문에 변수를 선언할 때, 함수가 매개변수를 받을 때에 자료형을 따로 지정하지 않습니다. 반면 Java는 '정적언어'로 컴파일할 때 변수의 타입이 결정되기 때문에, 변수를 선언할
☁️스위프트의 데이터 타입
이 글은 "앨런 Swift문법 마스터 스쿨" 을 듣고 정리한 내용입니다. 타입의 종류 정수타입(Int) > -5, -2, 0, 1, 2 ... 실수타입(Floating-pointed Number) > Float: 소수점 6자리까지 저장할 수 있다, 4바이트의 크기를 가지고 있다. -1.23, 3.2467, 0, ... Double : Float 타입에 비해 2배의 공간이 있다. 8바이트 문자형 데이터 타입 > Character : 하나의 문자 "A", "한", "d", ""(공백) String(Swift에서 주로 사용) "안녕하세요", "아이폰", " "(빈문자열) 반드시 쌍따옴표 안에 써야한다. 참과 거짓을 다루는 타입 Bool : True 또는 False를 저장 이러한 타입들을 변환하는 방법도 있다. String 타입의 "111"을 Int("111") 처럼 입력하게 되면 Int타입의 111로 변환할 수 있다. String
여러개의 정수를 받아오는 방법...
여러개의 정해지지 않은 갯수의 정수를 받아서 평균을 구하는 함수를 만드는 문제를 접했는데, 내가 아는 방법으로는 배열로 정리해서 풀어야 하나, 이런저런 고민을 해봐도 답이 안 나왔었다. 결국 못 풀어서 답을 봤는데 가변 파라미터를 이용해서 문제를 풀면 된다. 가변 파라미터란 여러개의 여러개의 값을 쓸 수 있는것을 말한다. Int에 ...을 붙여서 Int...을 사용해서 여러개의 정수를 받아올 수 있는 것을 알게 되었다. 이렇게 작성하고 숫자를 대입하면 값이 나오게 된다. 정수형을 받고 실수형으로 리턴을 하는 이유는 평균값을 구하게 되면 대부분 실수로 나오기 때문에 Double로 리턴을 해준다.

18. 자바 기초(자료형)
- int 는 정수형 자료형이며 [4Byte] 약 42억 까지 표현 가능하며 +-21억 까지 표현 가능하다. > - double 는 약 [8Byte] 경 까지의 숫자표현이 가능하며 정수 최대는 21억 까지 표현 가능하며 실수형(소수점표현가능) 자료형이다. > - long 는 [8Byte] 경 까지 표현 가능하며 정수형 자료형이다. long는 사용할때 숫자의 세미콜론 앞에 L 을 붙여줘야 한다. 
TIL-Java(변수의 정의, 데이터타입의 반환)
22.07.12 🍳 변수의 정의 > 변수는 변할 수 있는 자 그 값이 변할 수 있는 문자를 변수라고 합니다. 변수를 만들 때 변수 안에 어떤 데이터 타입이 들어갈 수 있는지를 변수를 만들 때 지정을 해야합니다. 데이터 타입으로 치면 지금까지 넘버 라고 했지만 이제 조금 더 정확한 표현을 알아야합니다. 숫자 1은 integer입니다. integer는 정수 라는 뜻입니다. 0과 -1234 이것들을 다 합치는 것을 정수라고 합니다. int라고 앞에다가 붙여주면 a는 1인데 1이라고 하는 숫자는 정수이기 때문에 a라는 저 변수에 담길 수 있습니다. 실수는 real number 라고 합니다. -2.0과 -1.0 사이에도 무한히 많은 값이 있는 숫자 체계를 실수라고 합니다.