[๊ธฐ์ด-์ข ํฉ] ๊ทธ๋ฆผ ํ์ผ ์ ์ฅ์ฉ๋ ๊ณ์ฐํ๊ธฐ(์ค๋ช )
๋ฌธ์ ) ์ด๋ฏธ์ง๊ฐ ์ปดํจํฐ์ ์ ์ฅ๋ ๋์๋ ๋์งํธ ๋ฐ์ดํฐํ ๋์ด ์ ์ฅ๋๋ค.
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก๋ ๊ทธ๋ฆผ์ ๊ตฌ์ฑํ๋ ํ ์ (pixel, ํฝ์
)์ ์์์
๋นจ๊ฐ(r), ์ด๋ก(g), ํ๋(b)์ 3๊ฐ์ง์ ๋น์ ์ธ๊ธฐ ๊ฐ์ผ๋ก ๋ฐ๋ก ๋ณํํ์ฌ ์ ์ฅํ๋ ๊ฒ์ธ๋ฐ,
์๋ฅผ ๋ค์ด r, g, b ๊ฐ ์์ ๋ํด์ 8๋นํธ(0~255, 256๊ฐ์ง ๊ฐ๋ฅ)์ฉ์ ์ฌ์ฉํ๋ค๊ณ ํ๋ฉด,
ํ ์ ์ ์์์ 3๊ฐ์ง r, g, b์ 8๋นํธ+8๋นํธ+8๋นํธ๋ก ์ด 24๋นํธ๋ก ํํํด์
์ด 2^24 ๊ฐ์ง์ ์๋ก ๋ค๋ฅธ ๋น์ ์๊น์ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ฒ ์ ์ฅํ๋ ์ ์ ๋ชจ์ ํ๋์ ํฐ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ ์ ์๊ฒ ๋๋๋ฐ,
1024 * 768 ์ฌ์ด์ฆ์ ๊ฐ ์ ์ ๋ํด 24๋นํธ๋ก ์ ์ฅํ๋ฉด ๊ทธ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๊ธฐ ์ํ
์ ์ฅ ์ฉ๋์ ๊ณ์ฐํ ์ ์๋ค.
์ด๋ ๊ฒ ์ด๋ฏธ์ง์ ์๋(raw) ๋ฐ์ดํฐ๋ฅผ ์์ถํ์ง ์๊ณ ๊ทธ๋๋ก ์ ์ฅํ๋ ๋ํ์ ์ธ ์ด๋ฏธ์ง ํ์ผ์ด
*.bmp ํ์ผ์ด๋ฉฐ, ๋นํธ๋ก ๊ทธ๋ฆผ์ ๊ตฌ์ฑํ๋ค๊ณ ํ์ฌ ๋นํธ๋งต ๋ฐฉ์ ๋๋ ๋์คํฐ ๋ฐฉ์์ด๋ผ๊ณ ํ๋ค.
์ด๋ฏธ์ง์ ๊ฐ๋ก ํด์๋ w, ์ธ๋ก ํด์๋ h, ํ ํฝ์
์ ์ ์ฅํ๊ธฐ ์ํ ๋นํธ b ๊ฐ ์ฃผ์ด์ง ๋,
์์ถํ์ง ์๊ณ ์ ์ฅํ๊ธฐ ์ํด ํ์ํ ์ ์ฅ ์ฉ๋์ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด ๋ณด์.
์๋ฅผ ๋ค์ด
์ผ๋ฐ์ ์ธ 1024 * 768 ์ฌ์ด์ฆ(ํด์๋)์ ๊ฐ์ ์ ๋ํด
24๋นํธ(rgb ๊ฐ๊ฐ 8๋นํธ์ฉ 3๊ฐ)๋ก ์ ์ฅํ๋ ค๋ฉด 1024 * 768 * 24 bit์ ์ ์ฅ ์ฉ๋์ด ํ์ํ๋ค.
์ค์ ๊ทธ๋ฐ์ง ํ์ธํ๊ณ ์ถ๋ค๋ฉด, ๊ฐ๋จํ ๊ทธ๋ฆผ ํธ์ง/์์ ํ๋ก๊ทธ๋จ์ ํตํด ํ์ธํ ์ ์๋ค.
**
8 bit(๋นํธ) = 1byte(๋ฐ์ดํธ) // 8bit=1Byte
1024 Byte(210 byte) = 1KB(ํฌ๋ก ๋ฐ์ดํธ) // 1024bit=1KB
1024 KB(210 KB) = 1MB(๋ฉ๊ฐ ๋ฐ์ดํธ)
1024 MB(210 MB) = 1GB(๊ธฐ๊ฐ ๋ฐ์ดํธ)
1024 GB(210 GB) = 1TB(ํ
๋ผ ๋ฐ์ดํธ)
์ ๋ ฅ | ์ถ๋ ฅ |
1024 768 24 | 2.25 MB |
#include <stdio.h>
int main() {
float a, b, c, d;
scanf("%f %f %f", &a, &b, &c);
d = a*b*c/8/1024/1024;
printf("%.2f MB", d);
return 0;
}
'Algorithm > CodeUp ๊ธฐ์ด 100์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ฝ๋์ ๊ธฐ์ด 100์ ] - 1088๋ฒ (0) | 2021.03.18 |
---|---|
[์ฝ๋์ ๊ธฐ์ด 100์ ] - 1087๋ฒ (0) | 2021.03.14 |
[์ฝ๋์ ๊ธฐ์ด 100์ ] - 1085๋ฒ (0) | 2021.03.07 |
[์ฝ๋์ ๊ธฐ์ด 100์ ] - 1084๋ฒ (0) | 2021.03.07 |
[์ฝ๋์ ๊ธฐ์ด 100์ ] - 1083๋ฒ (0) | 2021.03.07 |
๋๊ธ