From 4c0078b444804c562991d72f2c123c892c53f877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=ED=99=8D=20=EC=9C=A0=EB=B9=88?= <sara150@ajou.ac.kr> Date: Sun, 22 Dec 2024 23:55:17 +0900 Subject: [PATCH] Update 4. Advanced Scheduler.md --- PROJECT1 : THREADS/4. Advanced Scheduler.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/PROJECT1 : THREADS/4. Advanced Scheduler.md b/PROJECT1 : THREADS/4. Advanced Scheduler.md index bad9948..e135a6a 100644 --- a/PROJECT1 : THREADS/4. Advanced Scheduler.md +++ b/PROJECT1 : THREADS/4. Advanced Scheduler.md @@ -103,9 +103,8 @@ recent cpu가 각 프로세스가 "최근에" 받은 CPU 타임을 측정하기 두 개의 고정 소수점 값을 나누면 이와 반대의 문제가 생깁니다. 소수점이 너무 오른쪽으로 치우치는데, 나누기 전에 q비트를 왼쪽으로 이동시켜서 이를 해결 할 수 있습니다. 왼쪽으로 이동하면 상위 q비트를 버리게 되는데, 이는 다시 64비트로 나누어 수정할 수 있습니다. 따라서 x를 y로 나누었을 때의 몫은 `((int64_t) x) * f / y`가 됩니다. -이 섹션에서는 두 가지 이유로 q비트 이동 대신 `f`로 곱셈 또는 나눗셈을 일관되게 사용했습니다. 첫째, 곱셈과 나눗셈은 C 이동 연산자의 놀라운 연산자 우선순위가 없습니다. 둘째, 곱셈과 나눗셈은 음수 피연산자에서 잘 정의되어 있지만 C 이동 연산자는 그렇지 않습니다. 구현 시 이러한 문제에 주의하세요. +이 섹션에서는 두 가지 이유로 q비트 이동 대신 `f`로 곱셈 또는 나눗셈을 일관되게 사용했습니다. 첫째, 곱셈과 나눗셈은 C 이동 연산자의 예기치 못한 연산자 우선순위가 없습니다. 둘째, 곱셈과 나눗셈은 음수 피연산자에서 잘 정의되어 있지만 C 이동 연산자는 그렇지 않습니다. 이러한 문제에 주의하며 구현하세요. -다음 표는 C에서 고정 소수점 산술 연산을 구현하는 방법을 요약한 것입니다. 표에서 x와 y는 고정 소수점 숫자이고, n은 정수이며, 고정 소수점 숫자는 p + q = 31인 부호 있는 p.q 형식이고, f는 1 << q입니다. -- GitLab