前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >腾讯云携手CODING,云端IDE——Cloud Studio初体验

腾讯云携手CODING,云端IDE——Cloud Studio初体验

原创
作者头像
苏易北
发布于 2018-04-18 02:05:19
发布于 2018-04-18 02:05:19
10.3K0
举报
文章被收录于专栏:Linux 杂货铺Linux 杂货铺

文章发布地址: https://abelsu7.top/2018/04/16/try-cloud-studio/ 作者:苏易北,转载请注明原文链接

Cloud Studio及Coding WebIDE简介

4月16日,腾讯云CODING宣布达成战略合作,共同发布以腾讯云云服务器为基础的国内第一款完全基于云端的IDE工具Cloud Studio的beta版本。

4月16日上线的Cloud Studio
4月16日上线的Cloud Studio

有别于Heroku这样的PaaS云计算平台,根据两家在微信推送中的表述,Cloud Studio更接近于SaaS的概念——本质上是一款在线云端开发工具,减少用户安装IDE的成本,并与腾讯云IaaS/PaaS深度结合,从而提供代码编写、调试、上线一站式闭环体验。

Coding提供前端IDE,腾讯云提供后端计算服务
Coding提供前端IDE,腾讯云提供后端计算服务

Cloud Studio的前身正是CODING自主研发的Coding WebIDE,CODING的老用户应该会比较熟悉。在Cloud Studio的登录界面仍然保留了旧版WebIDE的访问入口提示,方便老用户继续访问。

Coding WebIDE
Coding WebIDE

值得注意的是,WebIDE的首页明确提到,其底层基于容器技术,可以让系统的预热时间从分钟级降到秒级,配置好的开发环境也可以快捷的保存与分享。

WebIDE基于容器技术
WebIDE基于容器技术

而源于Coding WebIDE的Cloud Studio同样采用了容器技术,这点可以在腾讯云发布的微信推送中得到印证,以下为部分内容摘抄。

“软件研发效率在不断提升,开发工具也需要同步更新迭代,这就对计算资源提出了更高要求。每台 Cloud Studio 的背后,都有腾讯云云服务器容器服务等服务在提供计算支持,帮助用户升级开发模式、变更应用交付、重构数据管理方式,提速企业应用部署。依托腾讯云的强大弹性能力,还能够做到资源快速伸、容灾等。开发者使用Cloud Studio 时登录浏览器即可进行编程,提供完整的 Linux 环境,并且支持自定义域名指向、动态计算资源调整,可以完成各种应用的开发编译与部署。另外,每个 Cloud Studio 拥有独立的计算资源,支持多环境快速切换、协同编辑、全功能 Terminal 等功能。据悉,下一步,Cloud Studio 将开放调配资源、在线 Terminal 操作云资源等功能。”

话不多说,现在就来初探Cloud Studio吧~

注册CODING账号

Cloud Studio是由CODING和腾讯云共同提供的服务,自然需要我们注册这两家的账号。访问https://studio.coding.net,随即跳转至CODING账号登录界面,因为我之前就是CODING的用户,直接登录,进入下一步。

注册CODING账号
注册CODING账号

申请Free Trial

登录CODING账户之后,系统会首先检测是否已有云主机。首次登录可以申请30天的免费试用。按照官方的说法,到期之后可按低至9.9元/月的价格续费主机,可以说是很划算了。

申请free trial
申请free trial

该界面还有产品介绍帮助文档的访问链接,正式进入Cloud Studio之前不妨先去逛一逛。

Cloud Studio产品介绍
Cloud Studio产品介绍

重点提及的功能包括多环境切换协同编辑以及全功能Terminal,终端默认使用oh-my-zsh,好评~

多环境切换
多环境切换
协同编辑
协同编辑
全功能Terminal,默认oh-my-zsh
全功能Terminal,默认oh-my-zsh

回到正题,继续我们的Cloud Studio的体验之旅。

腾讯云授权

申请Free Trial试用后,系统会自动申请一台1核1GB,10G空间腾讯云主机作为Cloud Studio的后端服务器,如果之前没有绑定腾讯云的账号,此时会跳转至腾讯云的授权页面,点击授权即可。如无意外,就会进入Cloud Studio的主界面中。

腾讯云授权
腾讯云授权

开始使用Cloud Studio

Cloud Studio有着广阔的使用场景。在其官方介绍中,将开发微信小程序作为示例场景进行展示。

开发微信小程序
开发微信小程序

另外Cloud Studio还支持协同编辑聊天的功能,以官方介绍图为例。

协同编辑与聊天
协同编辑与聊天

而用户初次进入Cloud Studio会创建默认的workspace,也可以创建空项目或从CODING导入已有项目。可以看到IDE的风格和IntelliJ IDEA很相似。

管理Workspaces
管理Workspaces

Cloud Studio预设了包括Node.jsJekyllHexoPHPRubyJavaPython.NetMachine Learning(是的,你没有看错)等多种开发环境,用户可在Environments选项卡中快速切换。

快速切换多种预设开发环境
快速切换多种预设开发环境

General Setting中,可对界面显示语言文件树隐藏文件进行设置。

General Setting
General Setting

Appearance Setting中,可切换亮/暗主题,并设置代码高亮配色,默认为material

Appearance Setting
Appearance Setting

Editor Setting中,可设置缩进风格缩进宽度

Editor Setting
Editor Setting

Keymap Setting中,可设置快捷键风格,预设包括DefaultSublimeVimEmacs

Keymap Setting
Keymap Setting

Extension Setting中,可搜索并安装各类插件,目前插件数量十分有限,相信日后会逐渐提高数量与质量。

Extension Setting
Extension Setting

查看腾讯云专用主机

右上角的Environments选项卡中列出了腾讯云专用主机的公网IP地址硬件参数,点击查看我的专用主机即可跳转至腾讯云主机列表。

腾讯云主机列表
腾讯云主机列表

点击该主机查看详细信息,发现其位于成都机房,剩余30天有效期

主机概览
主机概览

返回Cloud Studio,继续体验之旅。

体验终端

接下来通过Cloud Studio中的集成终端来对这台云主机一探究竟,可以看到配色还是比较舒服的。

云主机系统为Ubuntu 16.04.4 LTS
云主机系统为Ubuntu 16.04.4 LTS

使用dfuname命令,发现该云主机根目录挂载了40G存储空间,操作系统为Ubuntu 16.04.4 LTS

使用htop命令查看系统进程
使用htop命令查看系统进程

点击终端右上角的图标,可以快速切换终端运行环境。使用htop命令发现该云主机为1核CPU、内存1G

获取root权限
获取root权限

由于用户未设置密码,使用su命令可直接获取root权限

查看Java、Python版本
查看Java、Python版本

可通过ifconfig命令查看网卡信息,但与硬件相关的命令均无法调用。Java版本为1.8.0_161Python2版本为2.7.12Python3版本为3.5.2

体验官方Demo

体验完强大的Terminal之后,就来试跑一下官方提供的Demo吧~

官方Demo说明文档
官方Demo说明文档

在默认的Workspace中,CODING准备了JavaPythonPHP三种语言的小示例帮助用户体验Cloud Studio的基本功能

Demo代码结构
Demo代码结构

Python 2 Demo

Python 2的Demo功能很简单:获取当前时间与IPhello.py代码如下。

代码语言:txt
AI代码解释
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import socket
import time

def get_time():
    return time.strftime('%Y-%m-%d',time.localtime(time.time()))

def get_host_ip():
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect(('8.8.8.8', 80))
        ip = s.getsockname()[0]
    finally:
        s.close()

    return ip       

print "您好,欢迎来到 Cloud Studio"
print "当前时间是:" + get_time()
print "您的IP是:" + get_host_ip()

进入python目录,运行python hello.py即可。

Python 2 Demo
Python 2 Demo

Python 3 Demo

Python 3的Demo要更有趣一些:来自Github上的开源项目Cursed Snake,这是一个由borisuvarov开发、基于Python 3控制台贪吃蛇游戏snake.py代码如下。

代码语言:txt
AI代码解释
复制
#!/usr/local/bin/python3
# -*- coding: utf-8 -*-
"""
Simple Snake console game for Python 3.

From https://github.com/borisuvarov/cursed_snake

Use it as introduction to curses module.

Warning: curses module available only in Unix.
On Windows use UniCurses (https://pypi.python.org/pypi/UniCurses).
UniCurses is not installed by default.

"""

import curses  # https://docs.python.org/3/library/curses.html
import time
import random


def redraw():  # Redraws game field and it's content after every turn
    # win.erase()
    win.clear()
    draw_food()  # Draws food on the game field
    draw_snake()  # Draws snake
    draw_menu()
    win.refresh()


def draw_menu():
    win.addstr(0,0, "Score: " + str(len(snake) - 2) + "      Press 'q' to quit", curses.color_pair(5))


def draw_snake():
    try:
        n = 0  # There can be only one head
        for pos in snake:  # Snake is the list of [y, x], so we swap them below
            if n == 0:
                win.addstr(pos[1], pos[0], "@", curses.color_pair(ex_foodcolor))  # Draws head
            else:
                win.addstr(pos[1], pos[0], "#", curses.color_pair(ex_foodcolor))  # Draws segment of the body
            n += 1
    except Exception as drawingerror:
        print(drawingerror, str(cols), str(rows))


def draw_food():
    for pos in food:
        win.addstr(pos[1], pos[0], "+", curses.color_pair(foodcolor))


def drop_food():
    x = random.randint(1, cols - 2)
    y = random.randint(1, rows - 2)
    for pos in snake:  # Do not drop food on snake
        if pos == [x, y]:
            drop_food()

    food.append([x, y])


def move_snake():
    global snake  # List
    global grow_snake  # Boolean
    global cols, rows  # Integers

    head = snake[0]  # Head is the first element of "snake list"
    if not grow_snake:  # Remove tail if food was not eaten on this turn
        snake.pop()
    else:  # If food was eaten on this turn, we don't pop last item of list,
        grow_snake = False  # but we restore default state of grow_snake
    if direction == DIR_UP:  # Calculate the position of the head
        head = [head[0], head[1] - 1]  # We will swap x and y in draw_snake()
        if head[1] == 0:
            head[1] = rows - 2  # Snake passes through the border
    elif direction == DIR_DOWN:
        head = [head[0], head[1] + 1]
        if head[1] == rows - 1:
            head[1] = 1
    elif direction == DIR_LEFT:
        head = [head[0] - 1, head[1]]
        if head[0] == 0:
            head[0] = cols - 2
    elif direction == DIR_RIGHT:
        head = [head[0] + 1, head[1]]
        if head[0] == cols - 1:
            head[0] = 1

    snake.insert(0, head)  # Insert new head


def is_food_collision():
    for pos in food:
        if pos == snake[0]:
            food.remove(pos)
            global foodcolor
            global ex_foodcolor
            ex_foodcolor = foodcolor
            foodcolor = random.randint(1, 6)  # Pick random color of the next food
            return True
    return False


def game_over():
    global is_game_over
    is_game_over = True
    win.erase()
    win.addstr(10, 20, "Game over! Your score is " + str(len(snake)) + "  Press 'q' to quit", curses.color_pair(1))


def is_suicide():  # If snake collides with itself, game is over
    for i in range(1, len(snake)):
        if snake[i] == snake[0]:
            return True
    return False


def end_game():
    curses.nocbreak()
    win.keypad(0)
    curses.echo()
    curses.endwin()


# Initialisation starts --------------------------------------------
DIR_UP = 0  # Snake's directions, values are not important,
DIR_RIGHT = 1  # they сan be "a", "b", "c", "d" or something else
DIR_DOWN = 2
DIR_LEFT = 3

is_game_over = False
grow_snake = False

snake = [[10, 5], [9, 5]]  # Set snake size and position
direction = DIR_RIGHT
food = []
foodcolor = 2
ex_foodcolor = 3

win = curses.initscr()  # Game field in console initialised with curses module
curses.start_color()  # Enables colors
curses.init_pair(1, curses.COLOR_CYAN, curses.COLOR_BLACK)
curses.init_pair(2, curses.COLOR_BLUE, curses.COLOR_BLACK)
curses.init_pair(3, curses.COLOR_GREEN, curses.COLOR_BLACK)
curses.init_pair(4, curses.COLOR_MAGENTA, curses.COLOR_BLACK)
curses.init_pair(5, curses.COLOR_RED, curses.COLOR_BLACK)
curses.init_pair(6, curses.COLOR_YELLOW, curses.COLOR_BLACK)
win.keypad(1)  # Enable arrow keys
win.nodelay(1)  # Do not wait for keypress
curses.curs_set(0)  # Hide cursor
curses.cbreak()  # Read keys instantaneously
curses.noecho()  # Do not print stuff when keys are pressed
rows, cols = win.getmaxyx()  # Get terminal window size

#  Initialisation ends ---------------------------------------------


#  Main loop starts ------------------------------------------------
drop_food()
redraw()


while True:
    if is_game_over is False:
        redraw()
    key = win.getch()  # Returns a key, if pressed
    time.sleep(0.1)  # Speed of the game

    if key != -1:  # win.getch returns -1 if no key is pressed
        if key == curses.KEY_UP:
            if direction != DIR_DOWN:  # Snake can't go up if she goes down
                direction = DIR_UP
        elif key == curses.KEY_RIGHT:
            if direction != DIR_LEFT:
                direction = DIR_RIGHT
        elif key == curses.KEY_DOWN:
            if direction != DIR_UP:
                direction = DIR_DOWN
        elif key == curses.KEY_LEFT:
            if direction != DIR_RIGHT:
                direction = DIR_LEFT
        elif chr(key) == "q":
            break

    if is_game_over is False:
        move_snake()

    if is_suicide():
        game_over()

    if is_food_collision():
        drop_food()
        grow_snake = True

end_game()
#  Main loop ends --------------------------------------------------
Python 3 Demo
Python 3 Demo

真的可以玩哦!不过貌似在Cloud Studio上有延时(毕竟要与服务器交互),感兴趣的不妨在本地跑一跑哈哈~

PHP Demo

PHP Web Demo
PHP Web Demo

一个很简单的PHP Web Demo,配合Cloud Studio中的Access URL选项卡使用,可将来自公网的访问重定向至云主机PHP Web Server的监听端口。这里提示找不到favico.ico,页面图标无法加载,公网通过重定向链接可访问PHP服务。

公网访问PHP Server
公网访问PHP Server

Java Demo

官方提供的Java Demo是一个基于Maven构建的Spring Boot项目,StudioDemoApplication.java代码如下。

代码语言:txt
AI代码解释
复制
package com.coding.studiodemo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;

@SpringBootApplication
@Controller
public class StudioDemoApplication {
    @RequestMapping("/")  
    public String greeting(ModelMap map) {  
        String jreVersion = System.getProperty("java.specification.version");
        map.addAttribute("jreVersion", "v" + jreVersion);
        return "index";
    } 

	public static void main(String[] args) {
		SpringApplication.run(StudioDemoApplication.class, args);
	}
}

配置文件pom.xml代码如下

代码语言:txt
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.coding</groupId>
	<artifactId>studio-demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>studio-demo</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
        <dependency>  
            <groupId>org.springframework.boot</groupId>  
            <artifactId>spring-boot-starter-web</artifactId>  
        </dependency>
        <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>
    </dependencies> 
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>

查看Maven版本为3.3.9,直接运行mvn spring-boot:run启动服务,由于是第一次运行,需要等待一段时间来下载依赖。

启动Maven服务
启动Maven服务

依赖下载完成后,服务启动成功,创建Access URL供公网访问。

服务成功启动,创建Access URL
服务成功启动,创建Access URL

最后访问该链接,成功访问Java Web Demo Page,Cloud Studio初体验结束~

Java Web Demo
Java Web Demo

总结一下

和传统的云主机相比,基于容器技术Cloud Studio更加轻量快捷可视化IDE加持大大提升了开发效率,应用场景也更有针对性。如果只是希望在预搭建的环境中跑一些服务或进行一些实验,Cloud Studio会是一个不错的选择。

但是,Free Trial版本中Access URL的有效期仅为1个小时(解除有效期限制须升级CODING钻石会员),并且无法通过公网IP访问腾讯云专用主机,因此如果需要在公网中提供服务又对图形界面没有太大执念的话,各家的云主机仍是开发的第一选择。

参考文章 1. 腾讯云携手 CODING,共同推出云端编辑器 Cloud Studio | 腾讯云 2. CODING 携手腾讯云:连接,让开发更简单 | 扣钉CODING 3. 深入了解 Cloud Studio 开发在云端 | 扣钉CODING 4. Cloud Studio | Coding.net 5. Coding WebIDE | Coding.net 6. Cloud Studio帮助文档 | Coding.net

and 关于我

  • 华南理工大学软件工程硕士研究生
  • 程序员,Ukuer,足球狗( ̄▽ ̄)~*
  • 微信公众号「 苏易北」同步更新
微信公众号苏易北同步更新
微信公众号苏易北同步更新

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
老鼠与毒药
有1000瓶药水,其中一瓶是有毒的,老鼠喝掉药水后,毒性会在24小时后发作。那最少需要多少只老鼠,能够在24小时后找出哪一瓶有毒呢?
小K算法
2021/05/31
8750
面试题十五期-一个腾讯的面试题~biu
1、1000瓶药水,其中至多有1瓶剧毒,现在给你10只小狗在24小时内通过小狗试药的方式找出哪瓶药有毒或者全部无毒(小狗服完药20小时后才能判断是否中毒)。
测试小兵
2019/11/21
5970
面试题十五期-一个腾讯的面试题~biu
一道刚遇到的面试题,面试官说答不出正常
大家周末愉快,今天分享一道很有意思的面试题目。 面试官问这道题之前还说:不用紧张,基本上没啥人可以答出来,你就发散着想想就行。 好了,废话不多说了,我们直接上题。 题目 现在有 10 只小白鼠和 1000 支药水,1000 支药水中有且仅有一支药水有毒,如果小白鼠喝下毒药,那么毒发的时间是两小时。 现在只给你两小时的时间,请问如何用这 10 只小白鼠测出哪支药水有毒?(忽略小白鼠喝药的时间)。 思考 当时听完这题,我第一反应是:这题是不是在逗我? 就 10 只小白鼠,喝 1000 支药水,那么一只小白鼠肯定
程序员鱼皮
2023/03/29
3390
一道刚遇到的面试题,面试官说答不出正常
尾部的0和小老鼠喝药
因此就有解法1: 1.对每个数字依次除以5,如果余数为0则+1,如果得到的商除以5余数仍为0则再加一,直到余数不为0再继续下一数字。 实例:
呼延十
2019/07/01
5560
从老鼠试毒问题来看二分法
很多人对于二分法的理解比较片面,之前碰到一个题目 " 从一个先升序后降序的数列中,比如 1 2 3 7 4 3 2 中运用二分法去查找一个给定的元素",很多人说根本不能二分,因为没有排序。其实 这道题完全可以使用二分查找进行解答, 如果你觉得不可以的话,很可能对二分法理解还比较片面。 这里以另外一个更加有趣(至少我认为)的例子来讲解一下二分法。
lucifer210
2019/12/24
1.7K0
[oeasy]python0083_十进制数如何存入计算机_八卦纪事_BCD编码_Binary_Coded_Decimal
编码进化 回忆上次内容 上次 研究了 视频终端的 演化 从VT05 到 VT100 从 黑底绿字 到 RGB 24位真彩色 形成了 VT100选项 从而 将颜色 数字化 了 生活中我们更常用
oeasy
2023/02/14
3400
[oeasy]python0083_十进制数如何存入计算机_八卦纪事_BCD编码_Binary_Coded_Decimal
【春节特辑】神奇的二进制
有 1000 个一模一样的瓶子,其中有 999 瓶是普通的水,有 1 瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有 10 只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?
五分钟学算法
2019/09/03
6940
【春节特辑】神奇的二进制
老鼠和毒药的问题
  有1000只一模一样的瓶子,编号1-1000。其中999瓶是水,一瓶是看起来像水的毒药。只要老鼠喝下一小口毒药,一天后则死亡。现在,你有7只老鼠和一天的时间,如何检验出哪个号码瓶子里是毒药?
Wu_Candy
2022/07/04
1K0
老鼠和毒药的问题
薛定谔的猪
有1000个瓶子里面装满了水,其中1瓶里面被加入了毒药,但是滴入毒药的水在外观上看和普通水是一模一样的,也就是说这1000个瓶子是分不清哪瓶是装有毒药的,除非把装有毒药的水喝进肚子里。现在有一只可怜的猪可以用来实验,将其中一瓶水喂给这只猪喝,如果猪毒发身亡了,说明这瓶水有毒。猪并不需要喝完整瓶水,只需喝到一小口,毒性就会发作,如果水是有毒的话。
兜兜转转
2023/03/08
5370
薛定谔的猪
5-进制
本文目录 一、十进制 二、二进制 三、八进制 四、十六进制 五、进制总结 六、变量与进制
Python知识大全
2020/02/13
5620
《Java从入门到失业》第一章:计算机基础知识(1.1):二进制和十六进制
  最近7年来的高强度工作和不规律的饮食作息,压得我有些喘不过气,身体也陆续报警。2018年下半年的一场病,让我意识到了这个问题的严重性,于是开始强制自己有规律饮食和作息,并辅以健身锻炼,不到2年的时间,长期的腰痛和左肩膀痛竟然无药自愈,慢性胃炎也得到了缓解,于是我下定决心要坚持下去。
用户7801119
2020/09/27
6300
计算机基础(2)——进制与进制转换
进制也就是进位计数制,是人为定义的带进位的计数方法。 对于任何一种进制---X进制,就表示每一位置上的数运算时都是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
绿水长流z
2025/01/03
1760
计算机基础(2)——进制与进制转换
小朋友学C语言(18):二进制
一、十进制与二进制 我们日常所用到的计数方式,是十进制(数字用0,1,2,3,4,5,6,7,8,9这十个数字来表示)。 十进制的进位规则是”逢十进一”。 比如零、一、二、三、四、五、六、七、八、九都是用一位数来表示。再进一的话,是十。十无法用1位数来表示,所以要”进一”,用两位数来表示,即10。 19进一是二十,无法以1X来表示,所以得用20来表示。 99进一是一百,无法用9X来表示,所以得用100来表示。 计算机用二进制(数字用0和1来表示)来存储数据。二进制的进位规则是“逢二进一”。 零用0来表
海天一树
2018/04/17
1K0
小朋友学C语言(18):二进制
【进制转换】《进制大乱斗,谁才是真正的赢家!》
进制转换是计算机科学中的基础概念,也是编程和数字逻辑设计中的重要内容。掌握进制转换对于理解计算机内部运算机制、进行硬件设计和编写高效代码至关重要。本文将详细介绍各种进制及其相互转换方法。
LuckiBit
2024/12/11
2320
计算机常用的数制及编码
我们习惯使用的十进制数是由0、1、2、3、4、5、6、7、8、9十个不同的符号组成,每一个符号处于十进制数中不同的位置时,它所代表的实际数值是不一样的。例如1999年可表示成
张哥编程
2024/12/17
1720
C语言十进制与二进制的相互转换
计算机只认识二进制数(0和1),因为计算机是机器,它由逻辑电路组成,而逻辑电路一般情况下有两种状态,这两种状态分别是开关的闭合和断开,逻辑电路的这两种状态刚好就对应了二进制的 "1" 和 "0” 。常见的进制数有二进制、八进制、十进制、十六进制。在不同的进制之间还可以相互转换,如:二进制转十进制,十进制转二进制等等。今天我来给大家分享如何运用C语言编写代码来实现进制数之间的互相转换。
程序员小顺
2021/10/13
2.4K0
[c/c++后台开发面经] 京东面经(含答案)
1000瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验。喝了无毒的药水第二天没事儿,喝了有毒的药水后第二天会死亡。如何在一天之内(第二天)找出这瓶有毒的药水?
C语言与CPP编程
2020/12/02
9250
[c/c++后台开发面经] 京东面经(含答案)
你说你会位运算,那你用位运算来解下八皇后问题吧
位运算在生产或算法解题中并不常见,不过如果你用得好,可以达到事半功倍的效果,而且位运算用得好,也可以极大地提升性能,如果在生产或面试中能看到使用位运算来解题,会让人眼前一亮,觉得你还是有点逼格的,巧用位运算,不仅会提升性能,还会让代码的可读性更好,达到四两拨千斤的效果,今天我们就来学学位运算在解题中的一些技巧,最后会用位运算来看看怎么解八皇后这道大 Boss 题,相信你看完肯定会有收获!
kunge
2020/03/26
9230
你说你会位运算,那你用位运算来解下八皇后问题吧
【BLE MIDI】MIDI 文件格式分析总结 ★★★
这个 mid 文件很简单 , 但是麻雀虽小 , 五脏俱全 , 其中有所有的必须的 midi 文件头 , midi 轨道头 , 时间标志 , 等信息 ;
韩曙亮
2023/03/29
1.7K0
【BLE MIDI】MIDI 文件格式分析总结 ★★★
二进制,八进制,十进制,十六进制数之间的转换方式
我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。
岳泽以
2022/10/26
1.9K0
二进制,八进制,十进制,十六进制数之间的转换方式
推荐阅读
相关推荐
老鼠与毒药
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • Cloud Studio及Coding WebIDE简介
  • 注册CODING账号
  • 申请Free Trial
  • 腾讯云授权
  • 开始使用Cloud Studio
  • 查看腾讯云专用主机
  • 体验终端
  • 体验官方Demo
    • Python 2 Demo
    • Python 3 Demo
    • PHP Demo
    • Java Demo
  • 总结一下
  • and 关于我
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档